メタプログラミング?
http://d.hatena.ne.jp/nagaShima/20090208/p1
プリプロセッサはメタプログラミングの一種だと思う。C++流テンプレート術も同じくメタプログラミングの範疇。こいつらはコンパイル時計算してコード生成できるからね。
けど Scala はどうだろう。あれは一種の java へのトランスレータであって、Scala 自体はひとつの言語として成立している。これが「Scala は java のプログラムを生成するために作られたツールです」ってなるとメタプログラミングだろうけどね〜。
code = ""; code += "a" + i + " = " + i + ";\n" for i in 0..100; eval: code;
こういうのがメタプログラミングかな。