[Haskell-cafe] Practical Haskell question.
bf3 at telenet.be
Mon Jun 25 04:58:58 EDT 2007
I'm baffled. So using the Arrow abstraction (which I don't know yet) would
solve this problem? How can (perfectActionB x) be checked with without ever
executing performActionA which evaluates to x? This can only be done when x
is a constant expression no?
From: haskell-cafe-bounces at haskell.org
[mailto:haskell-cafe-bounces at haskell.org] On Behalf Of Tomasz Zielonka
Sent: Monday, June 25, 2007 10:43 AM
To: Henning Thielemann
Cc: haskell-cafe at haskell.org
Subject: Re: [Haskell-cafe] Practical Haskell question.
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.
Haskell-Cafe mailing list
Haskell-Cafe at haskell.org
More information about the Haskell-Cafe