Have you tried using "inst" instead of "ann"? Telling TR what to fill in for a and b will probably be more helpful to it.
Carl Eastlund On Sat, Aug 20, 2011 at 11:55 AM, John Clements <cleme...@brinckerhoff.org> wrote: > I can't seem to make typed racket happy about using 'sort': > > #lang typed/racket > > ((ann sort ((Listof Integer) (Integer Integer -> Boolean) -> (Listof > Integer))) > '(3 5 4) (ann < (Integer Integer -> Boolean))) > > => > > Type Checker: Expected ((Listof Integer) (Integer Integer -> Boolean) -> > (Listof Integer)), but got (All (a b) (case-lambda ((Listof a) (a a -> > Boolean) [#:cache-keys? Boolean] -> (Listof a))((Listof a) (b b -> Boolean) > [#:cache-keys? Boolean] #:key (a -> b) -> (Listof a)))) in: sort > > As far as I can tell, the type I specify is an instantiation of the given > type for sort; my best guess is that the problem is that the type 'b' doesn't > appear unless I use the #:key argument. My attempts to specify a #:key > explicitly went even more horribly wrong. > > John > > > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/dev > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev