[plt-scheme] require/typed and polymorphic signatures

From: John Nowak (john at johnnowak.com)
Date: Sun Jul 13 21:35:25 EDT 2008

I recently attempted to dive into Typed Scheme. Unfortunately, a few  
things have stopped me from using it. The major issue is that it seems  
impossible to import procedures with polymorphic signatures. For  
example, I'd like to do this:

     (fold (All (a b) ((a b -> b) b (Listof a) -> b))))

Unfortunately, this fails because Typed Scheme is unable to generate  
an appropriate contract. Am I correct in thinking that such a require  
statement is current impossible? If so, might this be remedied in a  
future version? I'm aware this may not be considered feasible.

- John

Posted on the users mailing list.