[racket-dev] parse errors in types, poly-dots cause me headaches
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