macros

マクロパラダイス

NEW

Eugene Burmako 著
Eugene Yokota 訳

マクロパラダイス (Macro paradise) とは Scala 2.10.x シリーズ用のコンパイラプラグインで、一般向けにリリースされている scalac と共に正しく動作するように設計されている。 これによって、将来の Scala に取り込まれるよりもいち早く最新のマクロ機能を使えるようになっている。

~/210x $ scalac -Xplugin:macro-paradise_*.jar -Xshow-phases
    phase name  id  description
    ----------  --  -----------
        parser   1  parse source into ASTs, perform simple desugaring
 macroparadise   2  let our powers combine
         namer   3  resolve names, attach symbols to trees in paradise
packageobjects   4  load package objects in paradise
         typer   5  the meat and potatoes: type the trees in paradise
                ...

具体例に関しては https://github.com/scalamacros/sbt-example-paradise を参照してほしいが、要点をまとめると、マクロパラダイスを使うには以下の二行をビルド定義に加えるだけでいい (すでにsbt を使っていることが前提だが):

resolvers += Resolver.sonatypeRepo("snapshots")

addCompilerPlugin("org.scala-lang.plugins" % "macro-paradise" % "2.0.0-SNAPSHOT" cross CrossVersion.full)
blog comments powered by Disqus