psyntax の展開パターンを変更

いくつかベンチマークをとっていて気づいたこと。
R5RS モード(-5オプションで起動)では十分速いが、R6RS モードでは遅いものがある。
psyntax ではコードを変換してバックエンドに渡すのだが、そこで効率的でないコードになっているのかもしれない。


psyntax がコード展開した結果は -e オプションで見られるので比べてみたところ、展開後のコードはバックエンドの名前空間を出来るだけ汚さないような形になっている。
これが原因で GLOC などいくつかの最適化がつぶされてしまい遅い。
そこで psyntax/builder.ss をいじって library-letrec* の展開を自前で書きビルドしたところ、ほとんどのベンチマークで高速化した。