[plt-scheme] srfi/1 messes typed-scheme

From: Paulo J. Matos (pocmatos at gmail.com)
Date: Thu Apr 2 21:19:14 EDT 2009

On Fri, Apr 3, 2009 at 1:15 AM, David Van Horn <dvanhorn at ccs.neu.edu> wrote:
> 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
>

Ok, thanks! :)


-- 
Paulo Jorge Matos - pocmatos at gmail.com
Webpage: http://www.personal.soton.ac.uk/pocm


Posted on the users mailing list.