define-dynamic added by mario-goulart on Mon Jul 15 18:38:44 2013

(define-syntax define-dynamic
  (syntax-rules ()
    ((_ var value)
     (define var
       (let ((slot (lambda () value)))
         (lambda args
           (if (null? args)
               (slot)
               (set! slot (lambda () (car args))))))))))