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:
parent
7e8aee13c4
commit
2d7b53140b
|
@ -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!)
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue
Block a user