improve new or/c's stronger predicate

This commit is contained in:
Robby Findler 2014-05-14 08:40:04 -05:00
parent 7da7eacbda
commit e1bd6bab6a

View File

@ -447,7 +447,14 @@
#:name
(λ (ctc) (flat-rec-contract-name ctc))
#:stronger
(λ (this that) (equal? this that))
(let ([recur? (make-parameter #t)])
(λ (this that)
(cond
[(equal? this that) #t]
[(recur?)
(parameterize ([recur? #f])
(contract-stronger? (get-flat-rec-me this) that))]
[else #f])))
#:first-order
(λ (ctc)
(λ (v)