ivory-0.1.0.3: Safe embedded C programming.

Safe HaskellSafe
LanguageHaskell2010

Ivory.Language.Effects

Synopsis

Documentation

data Effects Source

The effect context for Ivory operations.

data ReturnEff Source

Function return effect.

Constructors

forall t . Returns t 
NoReturn 

type family GetReturn effs :: ReturnEff Source

Retrieve any Return effect present.

Instances

type GetReturn (Effects r b a) = r Source 

type family ClearReturn effs :: Effects Source

Remove any Return effects present.

Instances

data BreakEff Source

Loop break effect.

Constructors

Break 
NoBreak 

type family GetBreaks effs :: BreakEff Source

Retrieve any Breaks effect present.

Instances

type GetBreaks (Effects r b a) = b 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 

data AllocEff Source

Stack allocation effect.

Constructors

forall s . Scope s 
NoAlloc 

type family GetAlloc effs :: AllocEff Source

Retrieve the current allocation effect.

Instances

type GetAlloc (Effects r b a) = 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