(define my_and (lambda (x y) (if x y #f))) (define lazy_and (lambda (x y) (if (x) (y) #f))) (define lazy-evaluation (lambda (t) (let ([val #f] [flag #f]) (lambda () (if (not flag) (begin (set! val (t)) (set! flag #t) val) val)))))