This commit is contained in:
Justin Ethier 2016-02-05 22:40:12 -05:00
parent be7ea4774f
commit 4e76d52470

View file

@ -44,3 +44,27 @@
(if (not (promise-done? promise))
(promise-update! promise* promise))
(force promise))))))
;; Delayed evaluation functions from husk
;(define force
; (lambda (object)
; (object)))
;
;(define-syntax delay
; (syntax-rules ()
; ((delay expression)
; (make-promise (lambda () expression)))))
;
;(define make-promise
; (lambda (proc)
; (let ((result-ready? #f)
; (result #f))
; (lambda ()
; (if result-ready?
; result
; (let ((x (proc)))
; (if result-ready?
; result
; (begin (set! result x)
; (set! result-ready? #t)
; result))))))))