Abstract the initialization stuff into a separate function.

Make it available outside so in the future I can use it in the PL class
code.

original commit: 5998ecc56430c34cabb13519a92fe755eff145cd
This commit is contained in:
Eli Barzilay 2011-01-11 10:47:06 -05:00
parent 9f19fceabb
commit f71157285c

View File

@ -1,43 +1,34 @@
#lang racket/base
(require (for-syntax racket/base
(require (for-syntax racket/base
;; these requires are needed since their code
;; appears in the residual program
"typecheck/renamer.rkt" "types/type-table.rkt")
"typecheck/renamer.rkt" "types/type-table.rkt")
"private/base-special-env.rkt")
(begin-for-syntax )
(provide (rename-out [module-begin #%module-begin]
[top-interaction #%top-interaction]
[#%plain-lambda lambda]
[#%app #%app]
[require require])
with-type)
with-type
(for-syntax do-standard-inits))
(define-syntax (module-begin stx)
(define-for-syntax (do-standard-inits)
(initialize-special)
((dynamic-require 'typed-scheme/private/base-structs 'initialize-structs))
((dynamic-require 'typed-scheme/private/base-env-indexing 'initialize-indexing))
((dynamic-require 'typed-scheme/private/base-env 'init))
((dynamic-require 'typed-scheme/private/base-env-numeric 'init))
((dynamic-require 'typed-scheme/private/base-env-numeric 'init)))
(define-syntax (module-begin stx)
(do-standard-inits)
((dynamic-require 'typed-scheme/core 'mb-core) stx))
(define-syntax (top-interaction stx)
(initialize-special)
((dynamic-require 'typed-scheme/private/base-structs 'initialize-structs))
((dynamic-require 'typed-scheme/private/base-env-indexing 'initialize-indexing))
((dynamic-require 'typed-scheme/private/base-env 'init))
((dynamic-require 'typed-scheme/private/base-env-numeric 'init))
(do-standard-inits)
((dynamic-require 'typed-scheme/core 'ti-core) stx))
(define-syntax (with-type stx)
(initialize-special)
((dynamic-require 'typed-scheme/private/base-structs 'initialize-structs))
((dynamic-require 'typed-scheme/private/base-env-indexing 'initialize-indexing))
((dynamic-require 'typed-scheme/private/base-env 'init))
((dynamic-require 'typed-scheme/private/base-env-numeric 'init))
(do-standard-inits)
((dynamic-require 'typed-scheme/core 'wt-core) stx))