
On Fri, Jan 31, 2003 at 06:10:22PM +0000, Alastair Reid wrote:
Ross:
#define IOArity 2
From the sound of it, you're redoing the IO monad and that means changes to the concurrency code.
I haven't touched the scheduling logic, I think. It already handled non-deterministic exceptions (HugsException) -- I just changed that to Exception. And the IOError continuations are gone, because they are now subsumed by Exceptions. All of the test suite still works (except for known export and Ratio bugs). One thing I did change was to switch exitWith to the System.Exit definition, i.e. throw an ExitException. forkIO catches all exceptions in the other thread and prints them, as before, but now exit is also an exception. I did break greencard and hdirect (they assume IO takes 2 continuations), but Sigbjorn has a fix for that.