union.ss compiles
svn: r13927 original commit: 20628199f58d659b7a62f13b56a4b7e8bb8c2196
This commit is contained in:
parent
5d73d8eae2
commit
b52de7d71f
|
@ -4,11 +4,7 @@
|
|||
|
||||
(require (rep type-rep rep-utils)
|
||||
(utils tc-utils)
|
||||
"type-utils.ss"
|
||||
"subtype.ss"
|
||||
"type-abbrev.ss"
|
||||
"type-effect-printer.ss"
|
||||
"type-comparison.ss"
|
||||
(types type-utils subtype type-abbrev printer comparison)
|
||||
scheme/match mzlib/trace)
|
||||
|
||||
(provide Un #;(rename *Un Un))
|
||||
|
@ -49,20 +45,9 @@
|
|||
(cond
|
||||
[(null? types) (make-union* null)]
|
||||
[(null? (cdr types)) (car types)]
|
||||
[(ormap Values? types)
|
||||
(if (andmap Values? types)
|
||||
(make-Values (apply map Un (map Values-types types)))
|
||||
(int-err "Un: should not take the union of multiple values with some other type: ~a" types))]
|
||||
[else (make-union* #;(remove-subtypes types) (foldr union2 '() (remove-subtypes types)))]))]))
|
||||
|
||||
#;(defintern (Un-intern args) (lambda (_ args) (apply Un args)) args)
|
||||
|
||||
#;(define (*Un . args) (Un-intern args))
|
||||
|
||||
;(trace Un)
|
||||
[else (make-union* (foldr union2 '() (remove-subtypes types)))]))]))
|
||||
|
||||
(define (u-maker args) (apply Un args))
|
||||
|
||||
;(trace u-maker)
|
||||
(set-union-maker! u-maker)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user