[EMAIL PROTECTED] wrote:
Andrew Coppin writes:
I've seen comments in various places that monads allow you to "borrow
things from the future".
That sounds completely absurd to me... can anybody explain?
Actually, "borrowing from the future" - in an interpretation which is
close
to my own interests - doesn't need monads, but *laziness*.
While this is true, the "mdo" and associated MonadFix class do implement
it in a monadic framework where you can write things like
mdo
x <- f y
y <- g x
If you interpret do-notation as equivalent to imperative programming
then this does indeed look like time travel. Under the covers its more
equivalent to
let
x = f y
y = g x
which is also known as "tying the knot" or the "credit card transform"
(both keywords worth looking up).
However I can't say I really have my head around it properly.
Paul.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe