Safe Haskell | None |
---|---|
Language | Haskell2010 |
Lookups combined into stack of lookups, allowing combined lookup coupled with updates on top of stack only
Documentation
class Stacked stk where Source #
Functionality on top of Lookup
for awareness of a scope.
Minimal definition lifts
, 'unlifts,', 'top'/'topM', 'pop'/'popM', 'push'/'pushM'
lifts :: StackedElt stk -> stk Source #
unlifts :: stk -> [StackedElt stk] Source #
top :: stk -> StackedElt stk Source #
pop :: stk -> (StackedElt stk, stk) Source #
push :: StackedElt stk -> stk -> stk Source #
topM :: MonadState stk m => m (StackedElt stk) Source #
popM :: MonadState stk m => m (StackedElt stk) Source #
pushM :: MonadState stk m => StackedElt stk -> m () Source #
pops :: stk -> (stk, stk) Source #
:: stk | |
-> stk | |
-> stk | push, but only top of first arg |
topsM :: MonadState stk m => m stk Source #
popsM :: MonadState stk m => m stk Source #
pushsM :: MonadState stk m => stk -> m () Source #
type family StackedElt stk :: * Source #
type StackedElt (Stacks e) Source # | |
type StackedElt (StackedVarLookup s) Source # | |
Stacked Lookup derived from a base one, to allow a use of multiple lookups but update on top only
Functor Stacks Source # | |
Applicative Stacks Source # | |
LookupApply l1 l2 => LookupApply l1 (Stacks l2) Source # | |
Show (Stacks s) Source # | |
PP s => PP (Stacks s) Source # | |
Stacked (Stacks lkup) Source # | |
Lookup lkup k v => Lookup (Stacks lkup) k v Source # | |
type StackedElt (Stacks e) Source # | |
type StackedElt (StackedVarLookup s) Source # | |
type VarLookupVal (StackedVarLookup s) Source # | |
type VarLookupKey (StackedVarLookup s) Source # | |