>>31
>letrecの本質は、ローカル変数定義時にエラーを出さずに本体を実行するという部分にあるのですね。
これは違うと思う。30の例はシンタックスエラーになるべきだと思うんだが。

> gaucheだと#undefがでてくる
ということは、もしかしてgaucheだと
(define a 33)
(letrec ((c a) (a 10))
 (set! c a)
 c)
--> 10
になるのかな?
そうなるとしたら、ちょっと不味いと思うんだが....どう?