[Haskell-cafe] Control.bimap?

Gregory Guthrie guthrie at mum.edu
Wed Dec 12 21:54:22 CET 2012


I found a nice idiom for a graph algorithm where the pairs of nodes representing links could be merged into node lists by something like:
    ns = nub $ map fst  g    --head nodes
    ne = nub $ map snd g   -- tail nodes

And found a nicer approach:
   (ns,ne) = (nub***nub) unzip g
Or perhaps:
   (ns.ne) = bimap nub nub $ unzip g    -- from Control.Bifunctor

The SO reference I saw described bimap as a way to map a function over a pair, and it seemed like a great match, but I cannot find the bimap function, and cabal reports no package Control.Bifunctor.
??
-------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121212/3ccc6e40/attachment.htm>


More information about the Haskell-Cafe mailing list