The 'Par' monad(s) offer an alternative parallel programming API to that provided by the @parallel@ package. A 'Par' monad allows the simple description of parallel computations, and can be used to add parallelism to pure Haskell code. The basic API is straightforward: a @Par@ monad supports forking and simple communication in terms of 'IVar's. This module is an interface module only. It provides a number of type clasess, but not an implementation. The type classes separate different levels of @Par@ functionality. See the "Control.Monad.Par.Class" module for more details. The 'monad-par' library is one example of a concrete library providing this interface.