最近プログラミング的なことが何もできてなくて書けることが無いので scalac のちょっと興味深いコンパイラオプションの話を2点お届けします。 * -Xprint:<phase> Scala コンパイラは入力プログラムを構文解析後、構文木に対するさまざまな変換フェイズの後に JVM バイトコードに辿り着くようです。 -Xprint オプションを使うとその各フェイズで Scala プログラムがどんな姿をしているかを見ることができます。 ためしに以下のようなプログラムを用意しましょう。 object For { def main(args: Array[String]) = { for (i <- 1 to 10) { println(i) } } } コンパイルのフェイズにどんなものがあるかは scalac -Xshow-phases で見ることが出来ます。おそらく上から下に進むのでしょうね