問題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

