diff --git a/collects/frtime/opt/frtime-opt-lang.ss b/collects/frtime/opt/frtime-opt-lang.ss index c91ac0c092..fd6286ef52 100644 --- a/collects/frtime/opt/frtime-opt-lang.ss +++ b/collects/frtime/opt/frtime-opt-lang.ss @@ -171,7 +171,17 @@ (provide #%app #%top #%datum require require-for-syntax provide define) (provide display) ;; for debugging - + + #;(require frtime/frlibs/list + frtime/frlibs/etc + frtime/frlibs/math + frtime/frlibs/date) + + #;(provide (all-from frtime/frlibs/list) + (all-from frtime/frlibs/etc) + (all-from frtime/frlibs/math) + (all-from frtime/frlibs/date)) + ;; this define-struct macro defines a lowered equiv for all the ;; accessor functions (define-syntax (my-define-struct stx) diff --git a/collects/frtime/opt/frtime-opt.ss b/collects/frtime/opt/frtime-opt.ss index d8f78a83ce..a3d66aaadc 100644 --- a/collects/frtime/opt/frtime-opt.ss +++ b/collects/frtime/opt/frtime-opt.ss @@ -113,7 +113,7 @@ (syntax-case stx () [(_ FORMS ...) (let* (;; get a list of all the symbols provided by the frtime-opt-lang module - [lang-symbols (all-provided-ids #'frtime/frtime-opt-lang stx)] + [lang-symbols (all-provided-ids #'frtime/opt/frtime-opt-lang stx)] ;; convert those symbols into an equiv-map by pairing up functions ;; with their lowered equivalents [lang-equiv-map (symbol-list-to-equiv-map lang-symbols)] @@ -122,7 +122,7 @@ [equiv-map-stx (equiv-map-to-stx lang-equiv-map)]) #`(#%plain-module-begin (require-for-syntax #,(so->d->so stx #`mzscheme)) - (require #,(so->d->so stx #`frtime/frtime-opt-lang)) + (require #,(so->d->so stx #`frtime/opt/frtime-opt-lang)) (optimize-module #,equiv-map-stx FORMS ...)))])) @@ -192,8 +192,8 @@ (module-exports-id? mod-stx (make-lowered-equiv-id id-stx))) id-stx-list))) - (syntax-case stx (require) - [(_ EQUIV-MAP (require SPEC) FORMS ...) + (syntax-case stx (#%require) + [(_ EQUIV-MAP (#%require SPEC) FORMS ...) ;; In the code below, we must convert syntax objects to datums, and then ;; back again. Otherwise the generated require statement doesn't ;; seem to work properly (it doesn't import the correct identifiers). @@ -300,7 +300,7 @@ (optimize-module #,new-equiv-map-stx FORMS ...)))] )] - [(_ EQUIV-MAP (require SPECS ...) FORMS ...) + [(_ EQUIV-MAP (#%require SPECS ...) FORMS ...) ;; Process each require spec individually. #`(optimize-require EQUIV-MAP (require SPECS) ... FORMS ...)] )) diff --git a/collects/frtime/opt/lang/reader.ss b/collects/frtime/opt/lang/reader.ss new file mode 100644 index 0000000000..85e8178523 --- /dev/null +++ b/collects/frtime/opt/lang/reader.ss @@ -0,0 +1,2 @@ +#lang s-exp syntax/module-reader +frtime/opt/frtime-opt