[racket-dev] parse errors in types, poly-dots cause me headaches

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue Nov 18 12:05:47 EST 2014

What I sent is the exact program that produced the attached error in today's drracket [updated around 10am]. 




On Nov 18, 2014, at 11:58 AM, Sam Tobin-Hochstadt <samth at cs.indiana.edu> wrote:

> No, I ran it, it barfed, and then I figured out what went wrong. Then
> I sent you an email with a fix. Unfortunately, that fix isn't enough
> to make the program type check. Partly, there's an internal error, but
> that's a missing case that will take work to support properly.
> 
> We can do better with the error message as well, by special casing ...
> in ->*, I think.
> 
> I don't, however, get the unbound identifier error that is in your
> screenshot. I just got the error message from your original post. Can
> you send the exact program that produced the error in the screenshot?
> 
> Sam
> 
> On Tue, Nov 18, 2014 at 11:54 AM, Matthias Felleisen
> <matthias at ccs.neu.edu> wrote:
>> 
>> On Nov 18, 2014, at 11:34 AM, Sam Tobin-Hochstadt <samth at cs.indiana.edu> wrote:
>> 
>>> On Tue, Nov 18, 2014 at 10:45 AM, Matthias Felleisen
>>> <matthias at ccs.neu.edu> wrote:
>>>> 
>>>> It's quite possible that this is Eli's bug again, but boy this causes headaches:
>>>> 
>>>>> Type Checker: parse error in type;
>>>>> type variable must be used with ...
>>>>> variable: Y in: Y
>>>> 
>>>> And it points precisely to where Y is followed by ...
>>> 
>>> The problem here is that you're using ->* without using the syntax of
>>> ->*.  Fortunately, this program doesn't need ->* at all.
>>> 
>>> Unfortunately, I don't know how to make this function type check yet,
>>> but I'll keep playing with it.
>> 
>> 
>> Are you blaming the victim here? Please run what I send out and experience how the type checker barfs on you. This is a bug report.



Posted on the dev mailing list.