Make overlap for procedures and simple data stronger.
This commit is contained in:
parent
6b69c396f4
commit
0c187c52b7
|
@ -14,7 +14,10 @@
|
||||||
(boolean? v)
|
(boolean? v)
|
||||||
(pair? v)
|
(pair? v)
|
||||||
(string? v)
|
(string? v)
|
||||||
(keyword? v)))
|
(keyword? v)
|
||||||
|
(char? v)
|
||||||
|
(void? v)
|
||||||
|
(eof-object? v)))
|
||||||
|
|
||||||
|
|
||||||
(define (overlap t1 t2)
|
(define (overlap t1 t2)
|
||||||
|
@ -79,8 +82,8 @@
|
||||||
(Value: (? simple-datum? v2)))
|
(Value: (? simple-datum? v2)))
|
||||||
(equal? v1 v2)]
|
(equal? v1 v2)]
|
||||||
[(or (list (Value: (? simple-datum?))
|
[(or (list (Value: (? simple-datum?))
|
||||||
(or (? Struct?) (? StructTop?)))
|
(or (? Struct?) (? StructTop?) (? Function?)))
|
||||||
(list (or (? Struct?) (? StructTop?))
|
(list (or (? Struct?) (? StructTop?) (? Function?))
|
||||||
(Value: (? simple-datum?))))
|
(Value: (? simple-datum?))))
|
||||||
#f]
|
#f]
|
||||||
[(list (Struct: n _ flds _ _ _)
|
[(list (Struct: n _ flds _ _ _)
|
||||||
|
@ -103,9 +106,6 @@
|
||||||
[(list (and t1 (Struct: _ _ _ _ _ _))
|
[(list (and t1 (Struct: _ _ _ _ _ _))
|
||||||
(and t2 (Struct: _ _ _ _ _ _)))
|
(and t2 (Struct: _ _ _ _ _ _)))
|
||||||
(or (subtype t1 t2) (subtype t2 t1))]
|
(or (subtype t1 t2) (subtype t2 t1))]
|
||||||
[(list (== (-val eof))
|
|
||||||
(Function: _))
|
|
||||||
#f]
|
|
||||||
[else #t])])))
|
[else #t])])))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user