Sceme-abc

読み方は『すきーむ・あべし』。
ActionScript3 VMで動くバイトコードを吐くSchemeコンパイラっぽい何か。完成したら、『魔法言語リリカルLisp As』を作りたいなぁと思ってる。

Scheme-abc(GitHub)
http://github.com/mzp/scheme-abc/tree/master
Twitter(コミットログ)
http://twitter.com/scheme_abc
Wiki
http://github.com/mzp/scheme-abc/wikis/home
Twitter(中の人)
http://twitter.com/mzp

現状

Flash

現状では、swfは生成できません。ですので、実行にはTamarinが必要になります。

Scheme

まだ、リストなどのLispっぽい要素はありません。単純な四則演算ができる程度です。

(define x 42)

(define (inc x)
  (+ x 1))

(print (inc x))

ほかのコンパイル可能なコードがexample/にいくつかあります。

ビルド方法

コンパイルにはOCaml 3.10およびGODI - Ocaml for Everybodyが必要です。
GODIでExtLibをインストールした上で、

$ ocamlbuild main.byte

とすることで、ビルドできます。

ユニットテストには別途、oUnitが必要になります。

$ make test

FAQ

なぜSchemeなの?
構文解析が楽だからです。Lispなら何でもよかったので、とりあえずブームに乗っかりました。
なぜActionScriptなの?
JとかIronはあるけど、ActionScriptはないなぁ、と思ったので。
ActionScriptと比べて何が嬉しいの?
破壊的操作が満載のオブジェクト指向よりも関数型のほうがいいに決ってます。
ライセンスは?
MITライセンスです。好きにいじくるといいと思います。