2009-08-22から1日間の記事一覧

レキシカルスコープとダイナミックスコープ

レキシカルスコープ: 関数が定義された時点でコードの文脈から決まるスコープ ダイナミックスコープ: 実行時の状態で呼び出し順序から決まるスコープ てな理解でいいかな。何か、しっくり来ないので、もう少しちゃんと挙動を把握したい。クロージャがどう動…

環境フレームモデル

1.1.8とかでsqrtで使用する各手続きを内部定義した場合、 (define (sqrt x) (define (good-enough? guess) (< (abs (- (square guess) x)) 0.001)) (define (improve guess) (average guess (/ x guess))) (define (sqrt-iter guess) (if (good-enough? gues…

defineとset!の違い

(全然解釈を間違っている気がするので、見直します。) http://d.hatena.ne.jp/yukichanko/20090819/1250700640 で、少し思ったこと。『defineでも再定義ができるんだったら、とset!の違いって何やねん!!』ですが、SICP p.139の注釈で言及されてますね。 現…