この記事は言語実装 Advent Calendar 2015 と ML Advent Calendar 2015の19日目の記事です。
今日はJavaのサブセットのコンパイラCamljoos0[1]について書くザマス。
joos0[2]というおデンマークはオーフス大学の授業用に作成された由緒正しいJavaのサブセット言語があったのでザマス。joos0はおフランス製のOCamlで書かれていたザマス。
日本から飛行機でたった13時間25分で着いて、その後、車か電車で1時間ってトコロザマス。ほとんどまっすぐ電車が通ってて便利ザマスね。
ミーも一度、おデンマークに行って寿司を食った覚えがあるザマス。
探したらコペンハーゲンのここらへんに行ったみたいザマス。
Nansensgade 19, Floors 7 and 8
1366 Copenhagen K
完全にネタになってるザマスね。もうミーは疲れたザマス。本題に移るザマス。
camljoos0
joos0はお作法的に、どうもJava等のお作法で作られていて長ったらしかったザマス。そこでミーの登場でザマス。ミーは MinCaml的に書き換えてjoos0をたった1行に書き換えてやったザマス。いや、1行は嘘ザマス。物の例えザマス。でもかなり短くなった事は間違いないザマス。
そういう事でですね、joos0っていう言語があったのですけど、Javaっぽい作りだったので、4000行のコードを2600行位まで書き換える事が出来ました。MinCamlのように書き換えたらかなり短く出来ましたっていう話でした。
ScalaをOCamlで描きたい場合にもしかしたら参考になるかもしれないし、ならないかもしれません。
MokkosuをOCamlに移植したらスッキリしそうだなぁなんて思う今日この頃です。
参考文献
-
[1] Camljoos0
https://github.com/hsk/camljoos0 -
[2] joos 0 language
http://users-cs.au.dk/mis/dOvs/ -
[3] オーフス大学
http://www.au.dk/