Neil Toronto | 22 Feb 21:51
Picon
Gravatar

TR disappearing types?

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 ⊥
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Gmane