[Haskell-cafe] Remember the future
Paul Johnson
paul at cogito.org.uk
Fri Aug 17 20:10:53 EDT 2007
jerzy.karczmarczuk at info.unicaen.fr 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.
More information about the Haskell-Cafe
mailing list