So, you agree that we should just change this?
On Mon, Dec 9, 2013 at 4:35 PM, Robby Findler <ro...@eecs.northwestern.edu> wrote: > Oh, now I get what you meant in your original message. Right. > > Robby > > > On Mon, Dec 9, 2013 at 3:29 PM, Sam Tobin-Hochstadt <sa...@cs.indiana.edu> > wrote: >> >> I haven't found a way to make it happen yet. But even so, it seems >> like the wrong name. >> >> Sam >> >> On Mon, Dec 9, 2013 at 4:16 PM, Robby Findler >> <ro...@eecs.northwestern.edu> wrote: >> > Is it possible that that name can leak out in an error message? >> > >> > Robby >> > >> > >> > >> > On Mon, Dec 9, 2013 at 3:10 PM, Sam Tobin-Hochstadt >> > <sa...@cs.indiana.edu> >> > wrote: >> >> >> >> Currently, this program fails with a somewhat bizarre type error: >> >> >> >> #lang typed/racket >> >> >> >> (: foo ([#:k Any] -> Integer)) >> >> (define (foo #:k [s #f]) 0) >> >> >> >> (let: ([i : Integer (foo #:k #t)]) i) >> >> >> >> The reason is that the expansion of keyword applications generates a >> >> name to use for the function (here `foo`), and it uses >> >> `syntax-local-infer-name` to get the name to use. Unfortunately, in >> >> this case, it produces `i`, an identifier which has an extra syntax >> >> property saying that `i` is an `Integer`. Of course, `foo` isn't an >> >> integer, it's a function, and so we get a type error. >> >> >> >> I don't see why the inferred name is the right choice here -- there's >> >> no connection between `i` and the name of the function. I can just >> >> change this to use a fresh name, but I thought I'd ask first. >> >> >> >> Sam >> >> _________________________ >> >> Racket Developers list: >> >> http://lists.racket-lang.org/dev >> > >> > > > _________________________ Racket Developers list: http://lists.racket-lang.org/dev