SML/NJ with mutual exclusion primitives similar to those in Modula-2+ and Mesa. Written by Greg Morrisett mu.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].