cvs commit: hugs98/src array.c builtin.c connect.h dirprim.c interns.c iomonad.c static.c stmonad.c timeprim.c

Ross Paterson ross@soi.city.ac.uk
Fri, 31 Jan 2003 19:04:00 +0000


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.