Ask your own question, for FREE!
MIT 6.001 Structure and Interpretation of Computer Programs, Spring 2005 18 Online
OpenStudy (anonymous):

Hey guys! Can anyone tell me why this code doesn't work? I've just started using assignment. My "mover" procedure is supposed to add 1 to the variable "position" each time it's called (each calling using the newly set position). It sets it right the first time but then it doesn't changes with further calls. (define (make-mover position) (define north (begin (set! position (+ position 1)) position)) (define (dispatch direction) (cond ((eq? direction 'north) north))) dispatch) (define position1 0) (define mover ((make-mover position1) 'north))

OpenStudy (anonymous):

It's weird because it works fine if "mover" has an argument like distance.

OpenStudy (anonymous):

Note: it looks a bit odd because a few parts have just been deleted...

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!