[plt-scheme] srfi/1 messes typed-scheme
Paulo J. Matos wrote:
> On Fri, Apr 3, 2009 at 12:59 AM, Paulo J. Matos <pocmatos at gmail.com> wrote:
>> So the reason why this fails:
>> (require/typed srfi/1
>> (every (All (a) (((a * -> Boolean) (Listof a) * -> Boolean)))))
>>
>> with
>> typecheck: not a valid type: (((a * -> Boolean) (Listof a) * ->
>> Boolean)) in: (((a * -> Boolean) (Listof a) * -> Boolean))
>>
>> or a problem with unsupported polymorphic types in require/typed?
>>
>
> It seems that my type was wrong but typed-scheme still returns the
> same with the following type which seems to match the function
> definition:
> (require/typed srfi/1
> (every (All (a) (((a * -> Boolean) (Listof a) (Listof
> a) * -> Boolean)))))
In both cases, you have a syntax error. There is an extra set of
parentheses around the type under (All (a) ...).
After fixing that problem, it still may not be possible to convert such
a type to a contract, however.
David