polysemy-conc-0.9.0.0: Polysemy effects for concurrency
Safe HaskellSafe-Inferred
LanguageHaskell2010

Polysemy.Conc.Effect.Mask

Description

 
Synopsis

Documentation

data RestoreMask :: Effect where Source #

Part of an effect abstracting mask.

Constructors

Restore :: m a -> RestoreMask m a 

Instances

Instances details
type DefiningModule RestoreMask Source # 
Instance details

Defined in Polysemy.Conc.Effect.Mask

type DefiningModule RestoreMask = "Polysemy.Conc.Effect.Mask"

restore :: forall r a. Member RestoreMask r => Sem r a -> Sem r a Source #

Restore the previous masking state. Can only be called inside of an action passed to mask or uninterruptibleMask.

type Mask resource = Scoped (MaskResource resource) RestoreMask Source #

The scoped masking effect.

type UninterruptibleMask resource = Scoped (UninterruptibleMaskResource resource) RestoreMask Source #

The scoped uninterruptible masking effect.

mask :: forall resource r. Member (Mask resource) r => InterpreterFor RestoreMask r Source #

Mark a region as masked. Uses the Scoped pattern.

uninterruptibleMask :: forall resource r. Member (UninterruptibleMask resource) r => InterpreterFor RestoreMask r Source #

Mark a region as uninterruptibly masked. Uses the Scoped pattern.