úÎJ™ portableunstable mail@n-sch.de GThe class which is needed to start new threads in the MState monad. Don't  confuse this with forkM+ which should be used to fork new threads! IThe MState is an abstract data definition for a State monad which can be : used in concurrent applications. It can be accessed with  evalMState and   execMState". To start a new state thread use forkM. HRead the Chan full of MVars and wait for all MVars to get filled by the N threads. On MVar-exception this will skip the current MVar and take the next  one (if available). GRun the MState and return both, the function value and the state value Action to evaluate Initial state value JEvaluate the MState monad with the given initial state, throwing away the ! final state stored in the MVar. Action to evaluate Initial state value JExecute the MState monad with a given initial state. Returns the value of  the final state. Action to execute Initial state value $Map a stateful computation from one (return value, state) pair to  another. See !Control.Monad.State.Lazy.mapState for more information. BApply this function to this state and return the resulting state. Start a new thread, using forkIO%. The main process will wait for all  child processes to finish. State action to be forked          mstate-0.1.1Control.Concurrent.MStateForkableforkMState runMState evalMState execMState mapMState withMStateforkM runMState' catchMVarwaitForTermination