[racket] TR disappearing types?

From: Neil Toronto (neil.toronto at gmail.com)
Date: Wed Feb 22 15:51:00 EST 2012

The following program types without trouble:


#lang typed/racket

(struct: (a) Foo ())

(: make-foo (All (a) (a -> (Foo a))))
(define (make-foo x)
   (Foo))

(ann (make-foo 1) : (Foo String))


It doesn't seem like it should, though. If this is the right behavior, 
is there a way to get a `Foo' parameterized on type `a' without actually 
storing the value? I'm trying to use TR to check programs that can't 
actually be run (i.e. written in a lambda calculus extended with 
uncountable sets).

Neil ⊥

Posted on the users mailing list.