Dynamic-require the optimizer.

original commit: c414b09ecfb424fcc4e0c4d80d9cf5197ea297c9
This commit is contained in:
Vincent St-Amour 2011-08-30 17:54:02 -04:00
parent 7228f10b01
commit ce1fcd2b54

View File

@ -4,7 +4,6 @@
(except-in syntax/parse id)
unstable/mutated-vars
racket/pretty
(optimizer optimizer)
(private type-contract)
(types utils convenience)
(typecheck typechecker provide-handling tc-toplevel)
@ -27,8 +26,12 @@
(define (maybe-optimize body)
;; do we optimize?
(if (optimize?)
(begin0 (map optimize-top (syntax->list body))
(do-time "Optimized"))
(let ([optimize-top
(begin0 (dynamic-require 'typed-scheme/optimizer/optimizer
'optimize-top)
(do-time "Loading optimizer"))])
(begin0 (map optimize-top (syntax->list body))
(do-time "Optimized")))
body))
(define-syntax-rule (tc-setup orig-stx stx expand-ctxt fully-expanded-stx checker result . body)