Drastic Prelude changes imminent

Henning Thielemann schlepptop at henning-thielemann.de
Wed Feb 11 21:01:35 UTC 2015


Am 01.02.2015 um 23:02 schrieb Edward Kmett:

> On Sun, Feb 1, 2015 at 4:39 PM, Iavor Diatchki <iavor.diatchki at gmail.com
> <mailto:iavor.diatchki at gmail.com>> wrote:
>
>     Really?  This is not obvious at all.  Is it because of the odd
>     `Applicative` instance for pairs? I am saying 'odd' because there
>     are no similar instances for tuples of higher arity;  there are also
>     no instance for `Monad` for the same type, which makes as much
>     sense, I guess.  Obviously this is just an opinion, but I don't
>     think these instances fit pairs naturally, and make for confusing
>     looking code.
>
>
> instance Monoid m => Monad ((,) m)
>
> is the "unnamed" writer monad that corresponds to the


That looks like a hack which requires another hack (namely moving Monoid 
to Prelude). Would it have been too difficult to use the Writer monad 
from transformers or mtl? Btw. I think if I use this instance this is 
certainly by accident. I prefer to be explicit about my programming 
intentions and would use the Writer monad.



More information about the Libraries mailing list