プログラミング

Unlambdaインタプリタ by Ruby

Schemeのインタプリタに行き詰まってきたので、とりあえず超難解プログラミング言語、Unlambdaのインタプリタを作っちゃいました。 http://hw001.gate01.com/eggplant/tcf/unlambda/たぶん、それなりに動くものが出来たと思います。 まあ、俺自身Unlambdaの…

ニセSchemeで継続させたい

メモです。 今、俺のニセSchemeで継続ができるように頑張っています。 とりあえず、今の実装ではなくスタックマシンライクなバーチャルマシンで 実行すれば上手くいくんじゃないかと思い、 YARVとかFORTHとかを調べて、必死こいて考えています。 そこで問題に…

ニセScheme置き場作りました。

http://wiki.livedoor.jp/mahalkita/d/%a5%cb%a5%bbScheme%c3%d6%a4%ad%be%ec今後やりたいこと 継続をサポート(難易度:高) 関数名とかをSchemeと同じにする(難易度:低) 末尾再帰を最適化(難易度:高)

上記インタプリタ用ソース

上記インタプリタは以下のコードでテストをしています。このコードをtest.nscmという名前で保存し、 cscript scheme.js test.nscmと入力すれば、実行できます。コメントを多めに入れてあるので、この言語のチュートリアル的な使い方も出来るかもです。

ニセScheme インタプリタ公開

いままでこっそり作ってきたschemeのような言語のインタプリタを公開します。 以下のコードをscheme.jsというファイルに保存して、コマンドプロンプトから cscript scheme.jsと入力すれば実行できます。