(define (printn x) (%%cexp ('a -> undefined) "dump_object (%0, 0); fprintf (stdout, \"\\n\")" x)) (define (+ a b) (%%cexp (int int -> int) "%0+%1" a b)) (define (make-counter) (let ((val 0)) (define (next) (let ((r val)) (set! val (+ val 1)) r) ) next )) (let ((c (make-counter))) (printn (c)) (printn (c)) )