CommonLisp Scheme Part12
■ このスレッドは過去ログ倉庫に格納されています
0019デフォルトの名無しさん
NGNGたとえばchez(petite)なら
(sc-expand '(let ((x 1)) (let ((y 1)) (+ x y) (proc list))))
-->
((lambda (#{x |?dp~%SaUTn<X\\*|})
((lambda (#{y |?dp~%SaUTn<X\\+|})
(+ #{x |?dp~%SaUTn<X\\*|} #{y |?dp~%SaUTn<X\\+|})
(proc list))
1))
1)
てな感じだから
>lambda文の変数スコープ規則
ってやつは考えなくて良くなるような気がする。
ただ、sc-expandはquotifyマクロの展開中に使われてもトップレベルで展開してしまうので。
(let ((expr (quotify '(...) '(...)))) (expr ...))
みたいなやつはどうなるかな?
実験してみたいが、時間がないので直感だけですまね。
■ このスレッドは過去ログ倉庫に格納されています