2015-05-08から1日間の記事一覧

lazy in Scala macro

めも lazy は macro 展開前に部分的に desugar される。ここからいくらか実装を察することができる。 展開前 lazy val a = 10 展開後 { lazy <artifact> var a$lzy: Int = _; <stable> <accessor> lazy def a: Int = { a$lzy = 10; a$lzy }; () }</accessor></stable></artifact>