GE - PowerPoint PPT Presentation

1 / 7
About This Presentation
Title:

GE

Description:

celsius-fahrenheit-convert... GE (define (make-connector) ... (define (celsius-fahrenheit-converter c f) (let ((u (make-connector)) (v (make-connector) ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 8
Provided by: sbak5
Category:
Tags: celsius | fahrenheit | to

less

Transcript and Presenter's Notes

Title: GE


1
GE
make-connector
make-connector has-value?get-value
set-value!forget-value! connect
make-connector has-value?get-value
set-value!forget-value! connect inform-about-valu
einform-about-no-value
make-connector has-value?get-value
set-value!forget-value! connect inform-about-valu
einform-about-no-value adder
make-connector has-value?get-value
set-value!forget-value! connect inform-about-valu
einform-about-no-value adder multiplier
make-connector has-value?get-value
set-value!forget-value! connect inform-about-valu
einform-about-no-value adder multiplier constant
probe for-each-exceptmemq
make-connector has-value?get-value
set-value!forget-value! connect inform-about-valu
einform-about-no-value adder multiplier constant
probe for-each-exceptmemq celsius-fahrenheit-
converter
2
(define C (make-connector))
C
(define (make-connector) (let ((value false)
(informant false) (constraints '())) (define
(set-my-value newval setter) (cond
.. (else 'ignored))) (define
(forget-my-value retractor) (if
constraints)) 'ignored)) (define
(connect new-constraint) (if
(inform-about-value new-constraint))
'done) (define (me request) (cond
. (else (error "
request)))) me))
3
(define F (make-connector))
C
F
4
(celsius-fahrenheit-converter C F)
(define (celsius-fahrenheit-converter c f) (let
((u (make-connector)) (v
(make-connector)) (w (make-connector))
(x (make-connector)) (y
(make-connector))) (multiplier c w u)
'ok))
value finformant fconstraints
'()set-my-valueforget-my-valueconnect me
C
p rqst b (cond )
F
5
(celsius-fahrenheit-converter C F)continue
(define (celsius-fahrenheit-converter c f) (let
((u (make-connector))) (multiplier c w u)
(multiplier v x u) (adder v y f)
(constant 9 w) (constant 5 x) (constant
32 y) 'ok))
C
F
6
(celsius-fahrenheit-converter C F)continue
(define (multiplier m1 m2 product) (define
(process-new-value) ) (define (me
request) ) (connect m1 me) me))
c C f F
GE
value finformant fconstraints
'()set-my-valueforget-my-valueconnect me
value finformant fconstraints '(
)set-my-valueforget-my-valueconnect me
C
17
m1 cm2 wproduct u process-new-valueprocess-f
orget-valueme
F
7
(define (celsius-fahrenheit-converter c f) (let
((u (make-connector)) (v
(make-connector)) (w (make-connector))
(x (make-connector)) (y
(make-connector))) (multiplier c w u)
(multiplier v x u) (adder v y f)
(constant 9 w) (constant 5 x) (constant
32 y) 'ok))
Write a Comment
User Comments (0)
About PowerShow.com