Safe Haskell | None |
---|---|
Language | GHC2021 |
Polysemy.Conc.Effect.Mask
Description
Synopsis
- data RestoreMask (a :: Type -> Type) b where
- Restore :: forall (a :: Type -> Type) b. a b -> RestoreMask a b
- restore :: forall (r :: EffectRow) a. Member RestoreMask r => Sem r a -> Sem r a
- newtype Restoration = Restoration {
- unRestoration :: forall a. IO a -> IO a
- type Mask = Scoped_ RestoreMask
- type UninterruptibleMask = Scoped_ RestoreMask
- mask :: forall (r :: EffectRow). Member Mask r => InterpreterFor RestoreMask r
- uninterruptibleMask :: forall (r :: EffectRow). Member UninterruptibleMask r => InterpreterFor RestoreMask r
Documentation
data RestoreMask (a :: Type -> Type) b where Source #
Part of an effect abstracting mask
.
Constructors
Restore :: forall (a :: Type -> Type) b. a b -> RestoreMask a b |
restore :: forall (r :: EffectRow) 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
.
newtype Restoration Source #
Constructors
Restoration | |
Fields
|
type Mask = Scoped_ RestoreMask Source #
The scoped masking effect.
type UninterruptibleMask = Scoped_ RestoreMask Source #
The scoped uninterruptible masking effect.
mask :: forall (r :: EffectRow). Member Mask r => InterpreterFor RestoreMask r Source #
Mark a region as masked.
Uses the Scoped_
pattern.
uninterruptibleMask :: forall (r :: EffectRow). Member UninterruptibleMask r => InterpreterFor RestoreMask r Source #
Mark a region as uninterruptibly masked.
Uses the Scoped_
pattern.