On 2012-04-27 17:44:06 -0400, Matthias Felleisen wrote: > [[If you mentioned this issue in my office yesterday, I failed to catch it.]]
I remembered/thought it as I was composing the e-mail. > In the old world, I could write contracts such as > > (and/c (class/cc ...) (class/c ...)) > > and that was *really convenient*. Are you saying I can > no longer do so? You can write that, but the following isn't very useful: (and/c (class/c #:opaque [m (->m number? number?)]) (class/c #:opaque [n (->m number? number?)])) Since the two class contracts both reject classes that the other would accept (unless `and/c` somehow merged the first-order checks of the two rather than checking both separately). It works if the two contracts mention exactly the same members. Cheers, Asumu _________________________ Racket Developers list: http://lists.racket-lang.org/dev