Friday, June 19, 2009

Ex-3.6

(define rand-init 10)
(define rand
(let ((next rand-init))
(define (dispatch msg)
(cond
((eq? msg 'generate)
(set! next (rand-update init))
next)
((eq? msg 'reset)
(lambda (new-val) (set! next new-val)))
(else (error "message not recognized"))))
dispatch))

No comments:

Post a Comment