racket/collects/mzlib/cm-accomplice.ss
Matthew Flatt 39cedb62ed v3.99.0.2
svn: r7706
2007-11-13 12:40:00 +00:00

20 lines
619 B
Scheme

(module cm-accomplice mzscheme
(provide register-external-file)
(define (register-external-file f)
(unless (and (path? f)
(complete-path? f))
(raise-type-error 'register-external-file "complete path" f))
(let ([param (lambda () void)])
;; Load the code in a separate thread, so that the dynamic
;; extent of this one (likely a phase-sensitive macro expansion)
;; doesn't pollute the load:
(thread-wait
(thread (lambda ()
(set! param
(dynamic-require '(lib "cm-ctime.ss" "mzlib/private")
'current-external-file-registrar)))))
((param) f))))