
Hi, Am Samstag, den 21.02.2015, 17:34 +0200 schrieb Oleg Grenrus:
I propose to add Functor, Applicative, Monad, Foldable, and Traversable and maybe even MonadFix instances to wrapper newtypes in the Data.Monoid module.
can you explain when these are useful? Especially, the Monad instance might be rather confusing: When I see "Monad Sum", I might somehow expect that >>= would somehow, well, sum things up. But foo = getSum $ do return 1 return 2 return 3 return 4 does not return 10 (At least you are not proposing a MonadPlus instance; that would be then really confusing.) Greetings, Joachim -- Joachim “nomeata” Breitner mail@joachim-breitner.de • http://www.joachim-breitner.de/ Jabber: nomeata@joachim-breitner.de • GPG-Key: 0xF0FBF51F Debian Developer: nomeata@debian.org