HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulemonad-par-0.3.6Haskell98

Control.Monad.Par.Scheds.Direct

A scheduler for the Par monad based on directly performing IO actions when Par methods are called (i.e. without using a lazy trace data structure).

  • 5 types
  • 14 values
  • Packagemonad-par-0.3.6
  • Exports19
  • LanguageHaskell98
  • LicenceBSD-3-Clause
  • SourceDirect.hs
newtypenewtype Par a
#
Instances9Monad, Functor, MonadFix, Applicative, MonadCont, MonadReader, …
  • Monad ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.DirectInternal
  • Functor ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.DirectInternal
  • MonadFix ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.DirectInternal
  • Applicative ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.DirectInternal
  • MonadCont ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.DirectInternal
  • MonadReader Sched ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.DirectInternal
  • ParFuture IVar ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.Direct · orphan
  • ParIVar IVar ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.Direct · orphan
  • ParUnsafe IVar ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.Direct · orphan
newtypenewtype IVar a
#

Constructors

Instances4ParFuture, ParIVar, ParUnsafe, NFData
  • ParFuture IVar ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.Direct · orphan
  • ParIVar IVar ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.Direct · orphan
  • ParUnsafe IVar ParDefined in monad-par-0.3.6 · Control.Monad.Par.Scheds.Direct · orphan
  • NFData (IVar a)Defined in monad-par-0.3.6 · Control.Monad.Par.Scheds.Direct
valueget :: IVar a -> Par a
#

Read the value in an IVar. The get operation can only return when the value has been written by a prior or parallel put to the same IVar.

valueput_ :: IVar a -> a -> Par ()
#

put_ is a version of put that is head-strict rather than fully-strict. In this scheduler, puts immediately execute woken work in the current thread.

valuefixPar :: (a -> Par a) -> Par a
#

Take the monadic fixpoint of a Par computation. This is the definition of mfix for Par. Throws FixParException if the result is demanded strictly within the computation.

Orphan instances

3 instances