軽量 let その2 - Scheme VM を書く

  • let1 を ENTER, REFER_LOCAL, LEAVE でコンパイル
  • let1 が tail context にある場合に対応(これは難しかった)
    • local env 用に stack をもう1本持とうかと思ったが踏みとどまった
  • 以前の let1 と比べて約30% ほど速くなった
  • 代入に対応した
  • テストをすべて通した

残る ToDo

  • wiki を optimize した場合に動かない原因を探る
  • let1 だけでなく let に対応する