Note also that zipMap is the classic S combinatory if you think of lists as
functions over the natural numbers, so there's something especially
compelling about it.  Similarly, repeat is K.  From zipMap & repeat, you can
easily define map, zip, zipWith, zipWith3, etc.

    s = zipWith ($)
    k = repeat

    mapT f xs            = s (k f) xs
    zipWithT f as bs     = s (mapT f as) bs
    zipT                 = zipWithT (,)
    zipWith3T f as bs cs = s (zipWithT f as bs) cs

       - Conal

 -----Original Message-----
From:   Mieszko Lis [mailto:[EMAIL PROTECTED]] 
Sent:   Thursday, March 08, 2001 6:30 PM
To:     Eric Allen Wohlstadter
Subject:        Re: zips and maps

Eric Allen Wohlstadter wrote:
> I find myself very often needing to use this function and was wondering if
> there was already a way to do this using zip,maps, and folds.

Do you mind using zipWith?  How about

zipMap = zipWith ($)


-- Mieszko

Haskell-Cafe mailing list

Haskell-Cafe mailing list

Reply via email to