
Hi, I finally was able to write a function which grabs the remainder of the computation in Cont monad and passes it to some function, in the same time forcing the whole computation to finish by returning a final value. I am not sure what kind of wheel I have reinvented, but here it is: ------------------------------------ -- Home-grown continuation delimiter function. Passes remainder of the -- whole computation to a given function and forces the whole computation -- to complete by returning a final value. Something similar to returning -- a final value in plain CPS instead of invoking the continuation. -- f: function which the remainder of the program will be passed to. -- Remainder will not be evaluated. -- r: final value of the whole computation that the latter will be -- terminated with. delimit f r = Cont $ \c -> runCont (return 0) $ \a -> f (runCont (return a) c) r ------------------------------------ I have created a simple (pseudo) concurrency demo that runs in a web browser, see the wiki page: http://haskell.org/haskellwiki/Concurrency_demos/Haskell-Javascript_concurre... Thanks. -- Dimitry Golubovsky Anywhere on the Web