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

From: Sam TH (samth at ccs.neu.edu)
Date: Thu Apr 2 12:31:24 EDT 2009

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

On Thu, Apr 2, 2009 at 11:45 AM, Paulo J. Matos <pocmatos at gmail.com> wrote:
> Hi all,
> Why is this failing:
> #lang typed-scheme
> (require srfi/1)
> (: test-map ((Listof Number) -> (Listof Number)))
> (define (test-map lst)
>  (map (lambda: ((x : Number)) (* x x)) lst))
> typecheck: unbound identifier map in: map
> Without the require it works. Obviously this is a short example and I
> don't need the require but on a bigger example I need every from srfi1
> so I do need to require srfi/1 but then it claims map is an unbound
> identifier.
> Cheers,
> --
> Paulo Jorge Matos - pocmatos at gmail.com
> Webpage: http://www.personal.soton.ac.uk/pocm
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme

sam th
samth at ccs.neu.edu

Posted on the users mailing list.