エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Scalaでmacro相当の機能を実現できますか? - ANS-prog
記事へのコメント1件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Scalaでmacro相当の機能を実現できますか? - ANS-prog
こんばんは。 Lispのdefmacroや、Cの#defineマクロでは(本コンパイル前に事前評価を行う事で)コードを引... こんばんは。 Lispのdefmacroや、Cの#defineマクロでは(本コンパイル前に事前評価を行う事で)コードを引数としてコードを展開する事ができますが、Scalaでコンパイル時にコードを展開する事は可能ですか? もしくはそれに同等の効果を得る方法はありますか? まず、Lispのdefmacroよりややおおがかりになりますが、Scalaにはコンパイラプラグインという仕組みがあり、これは、コンパイラの任意のフェーズに処理を挟み込むことができる、というものです。この機能を使ってマクロっぽい事をすることもできますし、defmacroみたいな「構文」を組み込むこともできます。ただ、Scalaコンパイラの生の構文木をいじる必要があるのでやや面倒です。 自分なりに調べてみたところ、scala-virtualized・virtualization-lmsというプロジェクトでは 型パラメータや暗黙の