Fix up singleton values

original commit: d0939ffa1e57894a076bfd6326c4d977cfdf3e2e
This commit is contained in:
Sam Tobin-Hochstadt 2008-07-07 14:49:46 -04:00
parent bbb3e251f8
commit e8621eecf0

View File

@ -56,6 +56,12 @@
(make-ValuesDots (map sb types) (sb dty) dbound))])
target))
;; the other definition is not accessible here
(define (-values args)
(if (= (length args) 1)
(car args)
(make-Values args)))
;; substitute-dots : Listof[Type] Option[type] Name Type -> Type
(define (substitute-dots images rimage name target)
(define (sb t) (substitute-dots images rimage name t))
@ -63,7 +69,7 @@
(type-case sb target
[#:ValuesDots types dty dbound
(if (eq? name dbound)
(make-Values
(-values
(append
(map sb types)
;; We need to recur first, just to expand out any dotted usages of this.