env now compiles

svn: r13950

original commit: 78fe918457e1aea1f7d0acfcf9a47d0893b5b453
This commit is contained in:
Sam Tobin-Hochstadt 2009-03-04 18:39:19 +00:00
parent 85369a60d1
commit 0ff58e7208
3 changed files with 12 additions and 13 deletions

View File

@ -4,12 +4,12 @@
(require "type-env.ss"
"type-name-env.ss"
(rep type-rep effect-rep)
(for-template (rep type-rep effect-rep)
(private union)
"type-alias-env.ss"
(rep type-rep object-rep filter-rep)
(for-template (rep type-rep object-rep filter-rep)
(types union)
mzlib/pconvert mzlib/shared scheme/base)
(private type-effect-convenience union)
"type-alias-env.ss"
(types union convenience)
mzlib/pconvert scheme/match mzlib/shared)
(define (initialize-type-name-env initial-type-names)
@ -32,9 +32,10 @@
[(Mu-name: n b) `(make-Mu ,(sub n) ,(sub b))]
[(Poly-names: ns b) `(make-Poly (list ,@(map sub ns)) ,(sub b))]
[(PolyDots-names: ns b) `(make-PolyDots (list ,@(map sub ns)) ,(sub b))]
[(? Type? (app (lambda (v) (vector->list (struct->vector v))) (list-rest tag key seq vals)))
`(,(gen-constructor tag) ,@(map sub vals))]
[(? Effect? (app (lambda (v) (vector->list (struct->vector v))) (list-rest tag key seq vals)))
[(? (lambda (e) (or (Type? e)
(LatentFilter? e)
(LatentObject? e)))
(app (lambda (v) (vector->list (struct->vector v))) (list-rest tag key seq vals)))
`(,(gen-constructor tag) ,@(map sub vals))]
[_ (basic v)]))

View File

@ -2,11 +2,9 @@
(require (except-in "../utils/utils.ss" extend))
(require "type-environments.ss"
(utils tc-utils)
"type-env.ss"
(private mutated-vars)
(private type-utils)
(private type-effect-convenience))
(utils tc-utils mutated-vars)
(types utils convenience))
(provide (all-defined-out))

View File

@ -3,7 +3,7 @@
(require (except-in "../utils/utils.ss" extend))
(require syntax/boundmap
(utils tc-utils)
(private type-utils))
(types utils))
(provide register-type
finish-register-type