[racket-dev] more general typed/scheme bafflement...
I see that map works on multiple lists in at least one circumstance, e.g. (map + (list 3 4) (list 4 5)). I couldn't get it to work with "list", though, even when I specialized list to a two-argument function:
#lang typed/racket
(: list2 (All (T) (T T -> (List T T))))
(define (list2 a b) (list a b))
(map list2 '(3 4 5) '(10 11 12))
==> Type Checker: Polymorphic function map could not be applied to arguments:
Domains: (a -> c) (Pairof a (Listof a))
(a b ... b -> c) (Listof a) (Listof b) ... b
Arguments: (All (T) (T T -> (List T T))) (List Positive-Byte Positive-Byte Positive-Byte) (List Positive-Byte Positive-Byte Positive-Byte)
in: (map list2 (quote (3 4 5)) (quote (10 11 12)))
Is there some easy fix here?
Also, I am deeply confused by the second of those domains, that makes it appear that I'm supposed apply map to a bunch of lists and then to a bare "b".
John
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4624 bytes
Desc: not available
URL: <http://lists.racket-lang.org/dev/archive/attachments/20110607/bc9ac735/attachment.p7s>