svn: r11128

This commit is contained in:
Eli Barzilay 2008-08-07 19:32:13 +00:00
parent 513174a2bd
commit f781bc04a1

View File

@ -47,10 +47,11 @@
;; - <thunk>: usually a delayed promise, ;; - <thunk>: usually a delayed promise,
;; - can also hold a `running' thunk that will throw a reentrant error ;; - can also hold a `running' thunk that will throw a reentrant error
;; - can also hold a raising-a-value thunk on exceptions and other ;; - can also hold a raising-a-value thunk on exceptions and other
;; `rais'ed values (actually, applicable structs for printouts) ;; `raise'd values (actually, applicable structs for printouts)
(define-syntax (lazy stx)
;; Creates a `composable' promise ;; Creates a `composable' promise
;; X = (force (lazy X)) = (force (lazy (lazy X))) = (force (lazy^n X)) ;; X = (force (lazy X)) = (force (lazy (lazy X))) = (force (lazy^n X))
(define-syntax (lazy stx)
(syntax-case stx () (syntax-case stx ()
[(lazy expr) (with-syntax ([proc (syntax-property [(lazy expr) (with-syntax ([proc (syntax-property
(syntax/loc stx (lambda () expr)) (syntax/loc stx (lambda () expr))