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

From: Sam Tobin-Hochstadt (samth at cs.indiana.edu)
Date: Tue Nov 18 17:43:02 EST 2014

Yes, fix (for the internal error) coming soon.

Sam

On Tue, Nov 18, 2014 at 5:24 PM, Alexander D. Knauth
<alexander at knauth.org> wrote:
> In terms of bugs, it’s probably related to this problem with call-with-values and poly-dots:
> #lang typed/racket
> (: f : (All (a ...) [(-> (values Any ... a)) -> Void]))
> (define (f g)
>   (call-with-values g void))
> ;=>
> . . ../../Applications/Racket v6.1.1/share/pkgs/typed-racket-lib/typed-racket/typecheck/tc-app/tc-app-values.rkt:22:4: match: no matching clause for (tc-results '() (cons Any 'a))
>
> On 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.
>> _________________________
>>  Racket Developers list:
>>  http://lists.racket-lang.org/dev
>


Posted on the dev mailing list.