cmincaml
この間、初めて Scala勉強会 in 渋谷 に行ってきました。
それで、mincamlの移植版の話を聞きたいといってもらったのですが、
ずいぶん触ってないソースになってたので、修正してみました。
変更した点は以下の点です。
1. C言語風式言語ベースに修正して、今までは、javaとyacc,lexが必要だったのですが、
scalaのみでコンパイラが動くようにしました。
2. 変換するデータの型のasInstanceOfを出来るだけ消した
3. パラメータの読み込み部分の修正
4. macで動くように
動作確認は適当なので、動かない事が多いと思います。
ただ、自分が動いて、一歩進んだ事が重要です。
cmlncaml は Scala のみで動く、関数型言語のネイティブコンパイラです。
Scala は C言語に似た関数型言語で最も優れている言語です。
Compact expression はC言語に似た言語にLispのマクロのパワーを与えます。
Mincamlは美しいコンパイラの最適化付きコンパイラのバッグエンド技術です。
私が考えていたコンパイラインフラストラクチャの構成がほぼ出来上がった訳です。
ソースは以下にあります。
https://github.com/hsk/cmincaml