snow

なぜに?

Schemeを作るために実装の資料を探しているうちにこちらにたどり着きました。

いずこへ?

ゲームでも使えるリアルタイム性の高い組み込み用の実装を模索しています。
現在、自作のインタープリターを使い、起動コストの小さいIncremental GCの実験をしています。

なぜ「Schemeなのか?」と問われれば、「男のロマンかな...」と答えることにしています(笑

謝辞

Schemeと出会ったのは大学4年のときです、10数年前になります。研究室の先輩がMac Plus用のMacSchemeという実装を持っていました。

先輩は「この言語はすぐれものだ」とか言っていたのですが...その時は聞き流していました^^;
ちなみに「オブジェクト指向」もそのとき聞いたのですが...やっぱり聞き流していました、ダメ学生だったので(涙)

でも、そのことが記憶に残っていたので今Schemeを書いています。先輩感謝です。

インタープリターを作ってみて思ふ

Schemeの仕様ってよく考えてあるな〜
参りました m(_ _)m

R5RS5かく語りき
internal defineはボディーの頭の部分にしか書いてはいけない
evalで新しい束縛を作ってはならない(interaction-enviromentは除く)
etc.

最初は「なんで?」と思ったけど、インタープリターを書いて見てなるほどと思った。
やっぱり新言語を作るにはセンスが必要なんだな〜
俺には無理なのか?...(涙)

野望

ところで、インタープリターを作っていて一番困ったのがテストであった...
最初はSCMのr4rstest.scmが通ればOKと思ったが全然甘かった^^;
で、あっちこっちの実装についているテストを片っ端からやって見ようとおもったのだが、テストがその処理系の固有機能を使って書いてあったり、最初がいきなり"define-syntax"だったり...そこまでつくってないっちゅ〜の(涙)

仕方が無いから、テストに必要な"define-macro"を作ったりテストルーチンを書き直したりするのだが....
それを動かすためにテストがひつようなんだよ〜ん(涙

というわけで、今の処理系が一通り動いたらスケーラブルでリッチなテスト用スイートを作ろうと策略している。これなら俺でも貢献できそうだしね(笑

そのときの為に、私の通ってきた道筋を書いておくことにする、皆のも教えてくれると嬉しいな〜(ここで捕まったとか...)

雑感:現存するテストはOK、NGしか返さない。 「結果がコレなら原因はコレの可能性がある」といった情報の得られるテストがあったなら...もっと楽だったのに...と思ふ。

Another something completely different - Monty Pythonより

モンティーパイソンといってもPythonの新しい実装かと思われそうな今日このごろですが(笑

More ...