| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Ivory.Language.Effects
Synopsis
- data Effects = Effects ReturnEff BreakEff AllocEff
- type AllocEffects s = Effects NoReturn NoBreak (Scope s)
- type ProcEffects s t = Effects (Returns t) NoBreak (Scope s)
- type NoEffects = Effects NoReturn NoBreak NoAlloc
- data ReturnEff
- type family GetReturn (effs :: Effects) :: ReturnEff
- type family ClearReturn (effs :: Effects) :: Effects
- data BreakEff
- type family GetBreaks (effs :: Effects) :: BreakEff
- type family AllowBreak (effs :: Effects) :: Effects
- type family ClearBreak (effs :: Effects) :: Effects
- data AllocEff
- type family GetAlloc (effs :: Effects) :: AllocEff
- type family ClearAlloc (effs :: Effects) :: Effects
Documentation
The effect context for Ivory operations.
type family ClearReturn (effs :: Effects) :: Effects Source #
Remove any Return effects present.
Instances
| type ClearReturn (Effects r b a) Source # | |
Defined in Ivory.Language.Effects | |
type family AllowBreak (effs :: Effects) :: Effects Source #
Add the Break effect into an effect context.
Instances
| type AllowBreak (Effects r b a) Source # | |
Defined in Ivory.Language.Effects | |
type family ClearBreak (effs :: Effects) :: Effects Source #
Remove any Break effect present.
Instances
| type ClearBreak (Effects r b a) Source # | |
Defined in Ivory.Language.Effects | |
type family ClearAlloc (effs :: Effects) :: Effects Source #
Remove any allocation effect currently present.
Instances
| type ClearAlloc (Effects r b a) Source # | |
Defined in Ivory.Language.Effects | |