Added cabal and vim dir
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
;; All implementations here are "borrowed" from
|
||||
;; husk-scheme (github.com/justinethier/husk-scheme).
|
||||
(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))))))))
|
Reference in New Issue
Block a user