lazy, force, delay in scheme/promise and scheme; clean up mzscheme some, and clean up the docs some

svn: r8053

original commit: 415cd0bf1529db4521b8372ebb21e76e6ff628be
This commit is contained in:
Matthew Flatt 2007-12-18 21:37:23 +00:00
parent 7e8aee13c4
commit 2d7b53140b
3 changed files with 13 additions and 5364 deletions

View File

@ -1557,11 +1557,11 @@
;; version that uses finalizers, but that leads to calling Scheme from the GC
;; which is not a good idea.
(define killer-executor (make-will-executor))
(define killer-thread
(delay
(thread (lambda () (let loop () (will-execute killer-executor) (loop))))))
(define killer-thread #f)
(define* (register-finalizer obj finalizer)
(force killer-thread)
(unless killer-thread
(set! killer-thread (thread (lambda () (let loop () (will-execute killer-executor) (loop))))))
(will-register killer-executor obj finalizer))
(define-unsafer unsafe!)

View File

@ -8,7 +8,9 @@
(#%provide make-namespace
free-identifier=?*
namespace-transformer-require)
namespace-transformer-require
transcript-on
transcript-off)
(define reflect-var #f)
@ -33,4 +35,9 @@
(free-identifier=? a b)))
(define (namespace-transformer-require qrs)
(namespace-require `(for-syntax ,qrs))))
(namespace-require `(for-syntax ,qrs)))
(define (transcript-on filename)
(error 'transcript-on "unsupported"))
(define (transcript-off)
(error 'transcript-off "unsupported")))

File diff suppressed because it is too large Load Diff