;; delayed.txt #!clear (define (f *a) *a) (f g) ;; g is not defined => # (define (f *a) (head (lambda-body *a))) (f g) => g (define (f *rest...) (head (lambda-body *rest...))) (f a b (+ 1 2)) => (a b (+ 1 2)) (define (f *rest...) (delayed-expr *rest...)) (f 1 2 (exit 0)) => (1 2 (exit 0)) (define x 10) (define (f *a) (+ (force *a) 1)) (f x) => 11