On the general notion of continuations, I believe Matt Might's blog explains it quite well using Javascript.
function
id(x) {
return
x ;
}
a CPS version might write:
function
id(x,ret) {
ret(x) ;
}
etc...
Hi,
Can someone please give me a _lucid_ and _simple_ explanation of exactly how continuations can be used in Haskell?
I've already had a look at most of the tutorials and explanations on the web, but I'm still confused. Continuations and CPS have me baffled. (I have most of the Haskell textbooks and even these are sketchy on Continuations)
I don't understand the notion of the Cont monad and how it can be used for multitasking, backtracking and interrupting computations. I understand that functions take in a (continuation) function that represents the work remaining to do, but al of the explanations on the web and in technical papers seems to trip over themselves in explaining the fundamentals to a CPS-newbie.
If anyone could explain such concepts to me in unambiguous, clear English then this would be very helpful.
Thanks in advance for your help,
Mark
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe