[racket] Unbound identifier bug in contracts?

From: Brian Adkins (racketusers at lojic.com)
Date: Tue Jul 22 20:03:19 EDT 2014

Does this seem like a bug? I'm running DRRacket 6.0.1 on Mac OSX 10.6.8.

Given:

(define (valid? a b)
  (< a b))

Case 1 - works fine:

(define/contract (foo a b)
  (->i ([x (z) (curry valid? z)] [z any/c]) any)
  (+ a b))

Case 2 (adding a 3rd arg) - results in:
  "z10: unbound identifier;
    also, no #%top syntax transformer is bound in: z10"

(define/contract (foo a b c)
  (->i ([x (z) (curry valid? z)] [y any/c] [z any/c]) any)
  (+ a b))

Thanks,
Brian


Posted on the users mailing list.