大きめのコードで不要 let がきちんと動くようになった。
動かしてみて分かったのですがなかなか不要な let はないです(笑)。
一つ、はまったのが以下の入れ子の let の場合。正解は let が2つとも削除されて定数0 = ($CONST 0) なのだけど。
(let1 a 0
(let1 b a b))
内側の let1 の b の初期値 a を、 let から削るときに参照カウントをデクリメントするのを忘れてた。
次の一手は何だっけか。
ChangeLog メモを読み返すと、インライン展開のようだ。明日中に終わるかな。終わらないだろうな。