[plt-scheme] srfi/1 messes typed-scheme
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