問題3.36 – SICP(計算機プログラムの構造と解釈)その134
2009年03月23日
問題3.36
(define a (make-connector)) (define b (make-connector)) (set-value! a 10 'user) gosh> done
a
と b
のコネクタを定義すると、手続き make-connector
が実行されて、それぞれのコネクタの環境 E1
と E2
が作られる。
コネクタ a
に値を設定すると、環境 E1
に value
と informant
の値が設定されて、手続き for-each-except
が評価される。
この時 constraints
は '()
なので何も実行せずに done
を返す。
a
と b
は接続されていないので何も起こらないが、接続されている場合は constraints
に手続き me
が追加され、手続き for-each-except
の評価時に実行されて値を伝播する。
計算機プログラムの構造と解釈
posted with amazlet at 08.11.07
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
ピアソンエデュケーション
売り上げランキング: 6542