i'm reading SICP and practicing in chicken. in the book they redefine
cons, car and cdr using procedures:
(define (cons x y)
(define (dispatch m)
(cond ((= m 0) x)
((= m 1) y)
(else (error "Argument not 0 or 1 -- CONS" m))))
dispatch)
(define (car z) (z 0))
(define (cdr z) (z 1))
however it produces an error in chicken:
Error: (caar) bad argument type: #<procedure (dispatch m)>
why doesn't it work?
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users