[Haskell-cafe] classes for data structures

Henning Thielemann lemming at henning-thielemann.de
Wed Feb 6 10:36:02 EST 2008


On Wed, 6 Feb 2008, Denis Bueno wrote:

> On Feb 6, 2008 9:40 AM, Henning Thielemann
>
> > ok, maybe with functional dependency t -> x
>
> I'm not sure about that.  It's often convenient to have two instances,
> one like the one I gave above, and others involving something that
> embeds a key-value pair:
>
> type SomethingWithKV k a = KV {getKV :: (k, a)}
> instance Buildable (Map k a) (SomethingWithKV k a) where
>   empty = Map.empty
>   insert s m = uncurry Map.insert (getKV s) m
>
> I have done this before -- it's very convenient, and I think makes the
> code that uses empty and insert more robust, and easier to read.

But why do you want to have the special type SomethingWithKV, but not
MapSomething ?


More information about the Haskell-Cafe mailing list