FW: RE [Haskell-cafe] Monad Description For Imperative Programmer

Jeff Polakow jeff.polakow at db.com
Wed Aug 1 12:11:51 EDT 2007


> On 8/1/07, Andrew Wagner <wagner.andrew at gmail.com> wrote:
> > For me, I think the key to monads is to really
> > understand 2 things about them:
> > ...
> > 2.) Monads are about sequencing
> Now I disagree on 2.
> Monads are no more about sequencing than binary operators are about
> sequencing. Sure, if you want to, you can define an operator like (*)
> to be non-commutative, so that a*b is different to b*a, but that
> doesn't really get to the essence of what a binary operator is. And in
> everyday usage we use (*) to mean ordinary commutative multiplication
> where there is no sense of sequencing.
> The same holds for monads. If you want to use them for sequencing the
> option is there, but there are plenty of commutative monads out there,
> for which the order of operations doesn't matter, and the fact that
> they are commutative doesn't make them any less monads. So while you
> can use monads to sequence, I don't think sequencing gets to the
> essence of what monads are.
> I suspect I hold a minority view here... :-)
You are entirely correct.

Data dependencies enforce/specify sequencing.



This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070801/33b88c2c/attachment.htm

More information about the Haskell-Cafe mailing list