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

Alastair Reid alastair@reid-consulting-uk.ltd.uk
Fri, 31 Jan 2003 18:10:22 +0000


Ross:
>   	#define IOArity 2
  
>From the sound of it, you're redoing the IO monad and that means
changes to the concurrency code.

Just want to be sure to point out that, because we don't have
preemptive concurrency, changes to the order threads get scheduled can
cause previously working code to deadlock.

So, please be very careful to check that concurrency is still useful.
At a minimum this means that it is still possible to write code which
implements the producer-consumer pattern.  Better yet, the
producer-consumer testcase in the testsuite would work unchanged.
Better yet, the HGL would work unchanged.  Better yet, the scheduling
order would be completely unaffected (there are some tests for this in
the testsuite).

(The above ought to be unnecessary to say but changes to the scheduler
are a large part of part of what went wrong when Hugs and the HGL were
incompatible for so long a year or two back.)

--
Alastair