FW: RE [Haskell-cafe] Monad Description For Imperative Programmer
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...
More information about the Haskell-Cafe