On Jul 14, 2014, at 10:19 AM, Sam Tobin-Hochstadt <sa...@cs.indiana.edu> wrote:
> This version with `for/fold` works for me: > > (for/fold : (U Index #f) ([k : (U Index #f) #f]) > ([i : Index (ann (in-range 5) (Sequenceof Index))]) > i) I’m not sure what it was then, because I just tried for/fold again and it worked fine. > > Sam > > On Sun, Jul 13, 2014 at 11:15 PM, Alexander D. Knauth > <alexan...@knauth.org> wrote: >> >> On Jul 13, 2014, at 8:23 PM, Sam Tobin-Hochstadt <sa...@cs.indiana.edu> >> wrote: >> >>> Probably, what's going on here is that `for/last` has a hidden loop >>> variable that starts off as `#f` and Typed Racket infers that to have >>> type `False`. >> >> I thought that was the whole point of adding the : (U Index #f), right? To >> provide a type for that loop variable? >> >>> >>> If that's the case, there's nothing you can really do other than >>> rewrite this as `for/fold`. >> >> Well, I tried to use for/fold, but it kept telling me to add more type >> annotations even when I had annotated every >> little thing that I could. >> Then I tried reversing the sequences and using for/first (which would work >> for what I’m doing but not in general), >> but if I remember correctly that seemed to have the same problem. >> Then I tried using the reversed sequences with for/or instead of for/first >> and that worked fine. >> But If there’s a hidden loop variable starting of as `#f`, then for/or >> should have the same problem, but for/or works fine. >> >>> >>> Sam >>> >>> On Sun, Jul 13, 2014 at 7:57 PM, Alexander D. Knauth >>> <alexan...@knauth.org> wrote: >>>> For some reason this: >>>> (for/last : (U Index #f) >>>> ([i : Index (ann (in-range 5) (Sequenceof Index))]) >>>> i) >>>> Is giving me this error: >>>> . Type Checker: type mismatch >>>> expected: False >>>> given: Index in: (for/last : (U Index #f) ((i : Index (ann (in-range 5) >>>> (Sequenceof Index)))) i) >>>> >>>> Why is it expecting False? >>>> And is there some type annotation I can put somewhere to fix it or >>>> anything? >>>> >>>> >>>> ____________________ >>>> Racket Users list: >>>> http://lists.racket-lang.org/users >> ____________________ Racket Users list: http://lists.racket-lang.org/users