Parallel functional language to program reactive systems and parallel algorithms using distributed memory. Extends Haskell, but overrules lazy evaluation whenever needed to support parallelism; gives enough control to implement parallel algorithms efficie