[Haskell-beginners] Abstracting Data.List

Brandon Allbery allbery.b at gmail.com
Fri May 31 16:31:51 CEST 2013


On Fri, May 31, 2013 at 6:16 AM, mukesh tiwari <mukeshtiwari.iiitm at gmail.com
> wrote:

> Data.List can be abstracted using Foldable and Traversable but
> unfortunately I could not find the functions corresponding to head, take.
>

Those are, again, more general than you want. What is the `head` of a
HashMap? (Consider that an implementation may choose to randomize the hash
function to avoid hash collision attacks.) Foldable and Traversable express
the concept of a collection which has no meaningful concept of an element's
relative position within the collection. ListLike adds the concept of
position, thereby admitting an indexing operation (and, by extension,
`head` which is index 0).

-- 
brandon s allbery kf8nh                               sine nomine associates
allbery.b at gmail.com                                  ballbery at sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130531/29057ba1/attachment.htm>


More information about the Beginners mailing list