On Mon, Jun 25, 2007 at 10:29:14AM +0200, Henning Thielemann wrote:
> Imagine all performActions contain their checks somehow. Let
> performActionB take an argument.
> 
> >  do
> >    x <- performActionA
> >    y <- performActionB x
> >    z <- performActionC
> >    return $ calculateStuff x y z
> 
> Now performActionB and its included check depend on x. That is, the check
> relies formally on the result of performActionA and thus check B must be
> performed after performActionA.

IIUC, this limitation of Monads was one of the reasons why John Hughes
introduced the new Arrow abstraction.

Best regards
Tomek
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to