Data.Monoid
Iavor Diatchki
iavor.diatchki at gmail.com
Tue Sep 13 15:04:00 EDT 2005
Hello,
I am not sure what the process is, but this seems like a good idea to
me. I would only suggest that instead of 'runEndo' we call the
selector 'appEndo'. We could even use some sort of infix application
operator if anyone could suggest one.
-Iavor
On 9/13/05, Ross Paterson <ross at soi.city.ac.uk> wrote:
> (regurgitating
> http://www.haskell.org/pipermail/libraries/2005-July/004057.html)
>
> I propose to replace the instance
>
> instance Monoid (a -> a) where
> mempty = id
> mappend = (.)
>
> with
>
> newtype Endo a = Endo { runEndo :: a -> a }
>
> instance Monoid (Endo a) where
> mempty = Endo id
> Endo f `mappend` Endo g = Endo (f . g)
>
> instance Monoid b => Monoid (a -> b) where
> mempty _ = mempty
> mappend f g x = f x `mappend` g x
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>
More information about the Libraries
mailing list