Fix reconstruction of Latents, which do not have keys.

svn: r14652
This commit is contained in:
Sam Tobin-Hochstadt 2009-04-29 14:35:52 +00:00
parent ea03a75113
commit 6662b72162

View File

@ -35,9 +35,11 @@
[(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))]
[(? (lambda (e) (or (Type? e)
(LatentFilter? e)
[(? (lambda (e) (or (LatentFilter? e)
(LatentObject? e)))
(app (lambda (v) (vector->list (struct->vector v))) (list-rest tag seq vals)))
`(,(gen-constructor tag) ,@(map sub vals))]
[(? (lambda (e) (or (Type? e)))
(app (lambda (v) (vector->list (struct->vector v))) (list-rest tag key seq vals)))
`(,(gen-constructor tag) ,@(map sub vals))]
[_ (basic v)]))