[racket-dev] parse errors in types, poly-dots cause me headaches
I am sending you the status line from
DrRacket, version 6.1.1.5--2014-11-18(c4684c12/d) [3m].
On Nov 18, 2014, at 12:10 PM, Sam Tobin-Hochstadt <samth at cs.indiana.edu> wrote:
> 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.
>>