[racket] for/and unhappiness with 'not' and the definition of Booleans?
I'm unable to get for/and to typecheck when the body is an application of 'not'. I've tried many variations on the following, without success:
#lang typed/racket
(for/and: : Any ([i (in-range 4)])
(not (my-pred)))
(define (my-pred)
#f)
=>
Type Checker: Expected True, but got Boolean in: (for/and: : Any ((i (in-range 4))) (not (my-pred)))
The error message suggests that the body must have type "True", though I suspect this is a consequence of if-splitting somehow.
Any suggestions or improvements to error messages appreciated.
John
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4624 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20110820/e30ee146/attachment.p7s>