Lecture 2026-02-03
(( fun
(define (make-box v)
(local [(define val v)]
(lambda (msg)
(cond
[(equal? msg 'get) val]
[(equal? msg 'set)
(lambda (new_value)
(set! val new_value)
)]
(define (get b ) (b 'get))
(define (set b v) (b'set) v )(define b1 (make-box 7)
(set b1 4 )
=> (define val_1 7)
...
((b1 'set) 4)
=> (define val1 7)
...
((lambda ( new v ) (set! val1 newv)) 4 )Last updated