コンパイラーの実装は一朝一夕にはいかず
schemeコンパイラーが欲しいなぁとなんとなく思うようになってきました。
というのは、最近はやりのCoffeeScript。RubyとPythonを足して2で割ったようなLLをJavaScriptに変換して実行するあれです。
CoffeeScript本なんかを書店で眺めていると、なんかこういうのもSchemeでできたらいいなぁとか思うようになったのです。
でも難しいのはやはり末尾再帰。素直に変換したらあっという間にスタックオーバーフローですよ。
今回作ったSCHEMEON.jsも末尾再帰でスタックオーバーフローしないように最初から設計しましたし。
ということで、四苦八苦しながらScheme→JavaScript変換装置を作っているのですが、なかなか難しいですね。
思ったように動いてくれません。