Make sure type environment is only initialized once

original commit: 44d591b5ba848dd8735c25f4bafbe1409506b219
This commit is contained in:
Eric Dobson 2011-06-07 15:55:07 -04:00 committed by Vincent St-Amour
parent 6e5b63910c
commit 14cbce4289

View File

@ -14,12 +14,15 @@
with-type
(for-syntax do-standard-inits))
(define-for-syntax initialized #f)
(define-for-syntax (do-standard-inits)
(initialize-special)
((dynamic-require 'typed-scheme/base-env/base-structs 'initialize-structs))
((dynamic-require 'typed-scheme/base-env/base-env-indexing 'initialize-indexing))
((dynamic-require 'typed-scheme/base-env/base-env 'init))
((dynamic-require 'typed-scheme/base-env/base-env-numeric 'init)))
(unless initialized
(initialize-special)
((dynamic-require 'typed-scheme/base-env/base-structs 'initialize-structs))
((dynamic-require 'typed-scheme/base-env/base-env-indexing 'initialize-indexing))
((dynamic-require 'typed-scheme/base-env/base-env 'init))
((dynamic-require 'typed-scheme/base-env/base-env-numeric 'init))
(set! initialized #t)))
(define-syntax-rule (drivers [name sym] ...)
(begin