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

From: Carl Eastlund (carl.eastlund at gmail.com)
Date: Thu Apr 2 13:17:17 EDT 2009

That's pretty much what require/typed is.  You can use require for
already-typed bindings, or require/typed for untyped bindings; it
gives Typed Scheme a type to work with and adds a contract to ensure
the type.


On Thu, Apr 2, 2009 at 1:13 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> Why not allow requires of modules that have contracts (perhaps in a
> sublanguage of the contract language that correspond to TS types) too?
> Robby
> On Thu, Apr 2, 2009 at 12:11 PM, Matthias Felleisen
> <matthias at ccs.neu.edu> wrote:
>> The error message is clearly uninformative and unhelpful, which points out
>> that in some sense a plain require shouldn't work at all in TS modules
>> UNLESS they refer to a typed module. -- Matthias
>> On Apr 2, 2009, at 12:31 PM, Sam TH wrote:
>>> SRFI 1 provides `map', which overrides the `map' provided from
>>> `typed-scheme'.  That `map' doesn't have a type associated with it,
>>> and you didn't specify one with `require/typed', so you get the error
>>> you see.
>>> If you want to use a procedure from SRFI 1, or any other untyped
>>> library, you need to use `require/typed'.
>>> sam th

Posted on the users mailing list.