| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Ivory.Language.Effects
- 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 :: ReturnEff
- type family ClearReturn effs :: Effects
- data BreakEff
- type family GetBreaks effs :: BreakEff
- type family AllowBreak effs :: Effects
- type family ClearBreak effs :: Effects
- data AllocEff
- type family GetAlloc effs :: AllocEff
- type family ClearAlloc effs :: Effects
Documentation
The effect context for Ivory operations.
type family ClearReturn effs :: Effects Source
Remove any Return effects present.
Instances
| type ClearReturn (Effects r b a) = Effects NoReturn b a Source |
type family AllowBreak effs :: Effects Source
Add the Break effect into an effect context.
Instances
| type AllowBreak (Effects r b a) = Effects r Break a Source |
type family ClearBreak effs :: Effects Source
Remove any Break effect present.
Instances
| type ClearBreak (Effects r b a) = Effects r NoBreak a Source |
type family ClearAlloc effs :: Effects Source
Remove any allocation effect currently present.
Instances
| type ClearAlloc (Effects r b a) = Effects r b NoAlloc Source |