[Haskell-cafe] classes for data structures
Henning Thielemann
lemming at henning-thielemann.de
Wed Feb 6 09:40:36 EST 2008
On Wed, 6 Feb 2008, Denis Bueno wrote:
> On Feb 6, 2008 9:00 AM, Henning Thielemann
> <lemming at henning-thielemann.de> wrote:
> > On Wed, 6 Feb 2008, Matthew Pocock wrote:
> > > class Buildable b where
> > > empty :: b a --makes an empty b with elements of type a
> > > insert :: a -> b a -> b a --inserts the new element into the buildable
> >
> > How can this interface be used both for lists and maps? [...]
>
> One solution is to change the class slightly:
>
> class Buildable t x where
> empty :: t
> insert :: x -> t -> t
>
> instance Buildable (Map k a) (k, a) where
> empty = Map.empty
> insert = uncurry Map.insert
ok, maybe with functional dependency t -> x
More information about the Haskell-Cafe
mailing list