;;Lets Experiment
(define (squarer a b)
(multiplier a a b))
(define A (make-connector))
(define B (make-connector))
(Probe "A" A)
(Probe "B" B)
(squarer a b)
(set-value! A 5 'user)
;Probe: A = 5
;Probe: B = 25
;Value: done
(forget-value! A 'user)
;Probe: A = ?
;Probe: B = ?
;Value: done
(set-value! B 16 'user)
;Probe: B = 16
;Value: done
Case-I: Setting value in A ,B doesn't have a value yet.
It works - No issue.
Case-II: Setting value in B, A doesn't have a value yet.
It does *NOT* work.
Reason:
On setting the value in B, when multiplier will be informed about value.. no cond clause are applicable because two of the three connectors does not have any value(as two connectors are same) and the call is simply ignored.
No comments:
Post a Comment