Haskell で SECD マシン

github にあげた。

Haskell 勉強用のトイプログラムで、以下のみサポート。

  • Parsec を使ったパーズ。
  • SECD マシンへのコンパイルと実行。
  • SCHEME の if, lambda, let, letrec とごく少数の組み込み演算。(fib は動く)
  • 最小限の REPL。
  • HUnit で書いたユニットテスト

このあと、LispMe の真似をして、末尾呼び出しの最適化と継続を導入する予定。