fix sorting
svn: r17270
This commit is contained in:
parent
3e497704aa
commit
dde2c1fb18
|
@ -6,7 +6,9 @@
|
||||||
(env type-name-env)
|
(env type-name-env)
|
||||||
(only-in (infer infer-dummy) unify)
|
(only-in (infer infer-dummy) unify)
|
||||||
scheme/match unstable/match
|
scheme/match unstable/match
|
||||||
mzlib/trace
|
mzlib/trace (rename-in scheme/contract
|
||||||
|
[-> c->]
|
||||||
|
[->* c->*])
|
||||||
(for-syntax scheme/base syntax/parse))
|
(for-syntax scheme/base syntax/parse))
|
||||||
|
|
||||||
;; exn representing failure of subtyping
|
;; exn representing failure of subtyping
|
||||||
|
@ -179,7 +181,8 @@
|
||||||
|
|
||||||
;(trace subtypes*/varargs)
|
;(trace subtypes*/varargs)
|
||||||
|
|
||||||
(define (combine-arrs arrs)
|
(d/c (combine-arrs arrs)
|
||||||
|
(c-> (listof arr?) (or/c #f arr?))
|
||||||
(match arrs
|
(match arrs
|
||||||
[(list (arr: dom1 rng1 #f #f '()) (arr: dom rng #f #f '()) ...)
|
[(list (arr: dom1 rng1 #f #f '()) (arr: dom rng #f #f '()) ...)
|
||||||
(cond
|
(cond
|
||||||
|
@ -188,7 +191,7 @@
|
||||||
#f)
|
#f)
|
||||||
((not (foldl type-equal? rng1 rng))
|
((not (foldl type-equal? rng1 rng))
|
||||||
#f)
|
#f)
|
||||||
[else (make-arr (apply map (lambda args (make-Union args)) (cons dom1 dom)) rng1 #f #f '())])]
|
[else (make-arr (apply map (lambda args (make-Union (sort args type<?))) (cons dom1 dom)) rng1 #f #f '())])]
|
||||||
[_ #f]))
|
[_ #f]))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user