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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to