Ok, got it working, it's in interpreted namespace.
> Where do I put memo-proc? In the "interpreted space" or "interpreter
> space"? Both choices seem confusing to me.
> If the interpreter was already applicative, how can the same
> expression gets applied more than once?
> (define (memo-proc proc)
> (let ((already-run? false) (result false))
> (lambda ()
> (if (not already-run?)
> (begin (set! result (proc))
> (set! already-run? true)