No annotations are needed here, even: #lang typed/racket
(: p (Listof Integer)) (define p (for/list ([i (in-range 30)]) i)) The other problem is why doesn't it know that `in-range' produces Naturals; I'll look into that. On Tue, Jun 7, 2011 at 12:24 PM, Hari Prashanth <krh...@ccs.neu.edu> wrote: > Its a bad error message I believe. > > (: p (Listof Fixnum)) > (define p > (for/list: : (Listof Fixnum) ([i : Fixnum (in-range 30)]) i)) > > > ----- Original Message ----- > From: "John Clements" <cleme...@brinckerhoff.org> > To: "Sam Tobin-Hochstadt" <sa...@ccs.neu.edu> > Cc: "dev" <dev@racket-lang.org> > Sent: Tuesday, June 7, 2011 3:10:58 PM (GMT-0500) Auto-Detected > Subject: [racket-dev] typed/racket for loops? > > I can't get typed racket to work with for loops, e.g.: > > #lang typed/racket > > (: p (Listof Natural)) > (define p > (for/list: : Natural ([i (in-range 30)]) i)) > > ==> Type Checker: Error in macro expansion -- untyped variable: for-loop in: > (for/list: : Natural ((i (in-range 30))) i) > > > Am I doing something silly here? I tried annotating the type of the loop > variable 'i', with no change in the error message. > > John > > > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/dev > -- sam th sa...@ccs.neu.edu _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev