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