| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Polysemy.Conc.Effect.Mask
Description
Synopsis
- data RestoreMask :: Effect where
- Restore :: m a -> RestoreMask m a
- restore :: forall r a. Member RestoreMask r => Sem r a -> Sem r a
- type Mask resource = Scoped (MaskResource resource) RestoreMask
- type UninterruptibleMask resource = Scoped (UninterruptibleMaskResource resource) RestoreMask
- mask :: forall resource r. Member (Mask resource) r => InterpreterFor RestoreMask r
- uninterruptibleMask :: forall resource r. Member (UninterruptibleMask resource) r => InterpreterFor RestoreMask r
Documentation
data RestoreMask :: Effect where Source #
Part of an effect abstracting mask.
Constructors
| Restore :: m a -> RestoreMask m a |
Instances
| type DefiningModule RestoreMask Source # | |
Defined in 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.