新C言語を作ろう
■ このスレッドは過去ログ倉庫に格納されています
0071デフォルトの名無しさん
2007/07/24(火) 22:47:58(define (g x) ((lambda (x) ((lambda (x) ((lambda (x) x) (f x))) (f x))) (f x)))
と等価という考え方であり、つまり初期化式は関数適用と同じスコープで
評価されるので、xは親を参照するという事が自然と自明になり、
文脈上のあいまいさもありません。Schemeにはletの他にlet*やletrecもあり、
こういった束縛規則をコントロールできます。
Schemeの変数束縛はとても理に適った設計なのです。
■ このスレッドは過去ログ倉庫に格納されています