SML/NJ with mutual exclusion primitives similar to those in
Modula-2+ and
Mesa. Written by Greg Morrisett
<jgmorris@cs.cmu.edu>.
Lightweight threads are created using
fork. They are
pre-emptively scheduled and communicate via
shared memory
which can be protected by a "
mutex" (
monitor).
Implementations for
Motorola 68020,
SPARC and
MIPS and
VAX- and
MIPS-based multiprocessors.
["Adding Threads to Standard ML", E. Cooper et al,
CMU-CS-90-186, CMU Dec 1990].