[racket] typed racket: how to define a binding as both a runtime var and a type?
Why do you want that? It's confusing to write x : x. I'd prefer x : X anyways.
On Feb 22, 2015, at 2:43 PM, Alexander D. Knauth wrote:
> Using #:omit-define-syntaxes doesn’t work because then when other modules import it it forgets about the type:
>
> def.rkt:
> #lang typed/racket
> (provide x)
> (define-type x 'x #:omit-define-syntaxes)
> (define x : x 'x)
>
> ref.rkt:
> #lang typed/racket
> (require "def.rkt")
> x ; works fine, outputs 'x
> (define y : x x) ; Type Checker: parse error in type; type name `x' is unbound in: x
>
> Why doesn’t this work, and is there another way to do this?
>
>
>
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users