So I have this file, found here:

Lines 51 through 55 say:

(define-type (Func<%> A)  (BaseFunc<%> A FuncAnyParam))(define-type BoolFunc<%> 
(Func<%> BooleanColumn))(define-type AnyFunc<%> (Func<%> ColIdent))

And this used to work on older versions of racket, say Racket BC 7.4

But on Racket CS 7.6, I get an error on this line: 
(define-type AnyFunc<%> (Func<%> ColIdent))

Even though (a) it doesn't throw an error on the line before it, and
(b) replacing it with (define-type AnyFunc<%> (BaseFunc<%> ColIdent 

I thought the way define-type works is that 
(Func<%> ColIdent)
would expand into (BaseFunc<%> ColIdent FuncAnyParam)

I've had similar problems with define-type previously where I'd think it would 
just expand
by substituting the parameter but it doesn't seem to really do that. I don't 
have any
trivial example to show, though. Fiddling around eventually gets it to work.

I'd really appreciate some help as to how to think about what define-type does 
in my head.

You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To view this discussion on the web visit

Reply via email to