Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
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
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 |