*"...in my humble opinion. (Which, obviously, nobody else will agree with.)" *
I somewhat agree with your opinion!! What I miss the most is practical examples: 1) A function that uses a Monoid as a container 2) A function that uses Monoid as algebra and so on, for most of categories. I had a hard time understanding monads, not because I didn't understand the concept of a monad, but because practical uses are missing, except on Wadler's paper! Regards Rafael On Fri, Nov 13, 2009 at 14:52, Andrew Coppin <andrewcop...@btinternet.com>wrote: > Stephen Tetley wrote: > >> 2009/11/13 Rafael Gustavo da Cunha Pereira Pinto < >> rafaelgcpp.li...@gmail.com>: >> >> >>> Monoid is the category of all types that have a empty value and an append >>> operation. >>> >>> >>> >> >> Or more generally a neutral element and an associative operation: >> >> The multiplication monoid (1,*) >> >> 9*1*1*1 = 9 >> >> 1 is neutral but you might be hard pressed to consider it _empty_. >> >> > > This is the thing. If we had a class specifically for containers, that > could be useful. If we had a class specifically for algebras, that could be > useful. But a class that represents "any possible thing that can technically > be considered a monoid" seems so absurdly general as to be almost useless. > If you don't know what an operator *does*, being able to abstract over it > isn't especially helpful... > > ...in my humble opinion. (Which, obviously, nobody else will agree with.) > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > -- Rafael Gustavo da Cunha Pereira Pinto
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe