Name: Anonymous 2013-10-04 15:32
Hello /prog/, I am reading chapter 3 of SICP and the Sussman uses message passing to make objects. Should I always make objects like this, or only for mutable data? Can Scheme be used for OOP with this technique?
Example :
(define (make-ball size)
(define (change-size new-size)
(set! size new-size)
'ok)
(lambda (message)
(cond ((eq? message change-size) change-size)
(else (error "Invalid message -- MAKE-BALL" message)))))
;; make a ball with a size of 10
(define my-ball (make-ball 10))
;; change its size to 20
((my-ball 'change-size) 20)
Example :
(define (make-ball size)
(define (change-size new-size)
(set! size new-size)
'ok)
(lambda (message)
(cond ((eq? message change-size) change-size)
(else (error "Invalid message -- MAKE-BALL" message)))))
;; make a ball with a size of 10
(define my-ball (make-ball 10))
;; change its size to 20
((my-ball 'change-size) 20)