[Haskell-cafe] Commutative monads vs Applicative functors

Henning Thielemann lemming at henning-thielemann.de
Sun May 18 09:06:59 EDT 2008


On Wed, 14 May 2008, David Menendez wrote:

> On Tue, May 13, 2008 at 9:06 PM, Ronald Guida <oddron at gmail.com> wrote:
>> I have a few questions about commutative monads and applicative functors.
>>
>> >From what I have read about applicative functors, they are weaker than
>>  monads because with a monad, I can use the results of a computation to
>>  select between alternative future computations and their side effects,
>>  whereas with an applicative functor, I can only select between the
>>  results of computations, while the structure of those computations and
>>  their side effects are fixed in advance.
>>
>>  But then there are commutative monads.  I'm not exactly sure what a
>>  commutative monad is, but my understanding is that in a commutative
>>  monad the order of side effects does not matter.
>>
>>  This leads me to wonder, are commutative monads still stronger than
>>  applicative functors, or are they equivalent?
>>
>>  And by the way, what exactly is a commutative monad?

Interestingly I used a Writer monad with a commutative monoid recently, 
which is also an example of a commutative monad.


More information about the Haskell-Cafe mailing list