Why not make it unlossy and have:

trans :: (Ord k, Ord a) => Map k a -> Map a (Set k)



On Thu, Jun 16, 2011 at 9:10 AM, Johan Tibell <johan.tibell@gmail.com> wrote:
On Thu, Jun 16, 2011 at 3:01 PM, Dmitri O.Kondratiev <dokondr@gmail.com> wrote:
> Hi,
> Data.Map has many great functions, yet I could not find the one that allows
> from one map create another map where keys are values and values are keys of
> the first one.
> Something like:
> transMap:: (Ord k, Ord a) => Map k a -> Map a k
>
> Does such function exist?

Note that such a function would be lossy as there might be duplicate
values in the map.

Cheers,
Johan

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe