末尾再帰的

Scheme の実装は真正に末尾再帰的であることが要求されている。

だって。末尾呼び出しの最適化を実装していないとSchemeではないらしい。実装できるかなー。
Unlambdaを実装したときにcall/ccは作ったんだけど、あんな感じでいいのかな。継続を毎回渡して、最後は継続を呼ぶっての。CPSって言うの?

あー、あと「数値定数,文字列定数,文字定数,ブーリアン定数は“それ自身へと” 評価される。」を見てて気づいたんだけど、今evaluateのタイミングで"123"を123に変換しているのは正しくないな。パースして木を作った時点で整数オブジェクトに変換しておくべき…。