SECD Machine SBCL ver.

  • common lisp でも SECD マシンを書いてみた。
  • gauche でコンシングの数を調べる方法は結局見つけられず。まだ機能として無いのかも。cons の実行回数を自分で数えてもいいけど
  • SBCL にもプロファイルあり。time でコンシングの情報が手に入る。
  • SBCL には util.match が無いので普通の case で書いた
  • SBCL はネイティブコンパイラなのでそもそも速い
  • my vm 版の fib はコンシングしまくり。だけどコンシングしまくるから一概に遅いとは言えない。
  • リストのかわりに array を使うと実際のメモリーの操作に近くていいか?