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

From: Sam Tobin-Hochstadt (samth at cs.indiana.edu)
Date: Tue Nov 18 12:10:23 EST 2014

With that program, I get this error message:

    unsaved editor:7:48: Type Checker: parse error in type; type
variable must be used with ... variable: Y in: Y

Which you also got. What changed it from the parse error to the
"unbound identifier" error?

Sam

On Tue, Nov 18, 2014 at 12:05 PM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
>
> 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.