Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data LamIfState val Source
Eq val => Eq (LamIfState val) Source | |
Ord val => Ord (LamIfState val) Source | |
POrd val => POrd (LamIfState val) Source | |
(Pretty Env, Pretty (Maybe ExpAddr), Pretty Time, Pretty (Store val0), Pretty (KStore val0)) => Pretty (LamIfState val) Source | |
MonadState (LamIfState val) (PathSensitiveM val) Source | |
Join val => MonadState (LamIfState val) (FlowInsensitiveM val) Source | |
Join val => MonadState (LamIfState val) (FlowSensitiveM val) Source |
κStoreL :: forall val. Lens (LamIfState val) (KStore val) Source
storeL :: forall val. Lens (LamIfState val) (Store val) Source
timeL :: forall val. Lens (LamIfState val) Time Source
envL :: forall val. Lens (LamIfState val) Env Source
class (POrd val, JoinLattice val, Val val, Monad m, MonadState (LamIfState val) m, MonadJoinLattice m) => MonadLamIf val m | m -> val Source
(POrd val, JoinLattice val, Val val) => MonadLamIf val (PathSensitiveM val) Source | |
(POrd val, JoinLattice val, Val val) => MonadLamIf val (FlowInsensitiveM val) Source | |
(POrd val, JoinLattice val, Val val) => MonadLamIf val (FlowSensitiveM val) Source |
atomVal :: MonadLamIf val m => AtomVal -> ParamsM m val Source
push :: MonadLamIf val m => Frame -> ParamsM m () Source
pop :: MonadLamIf val m => ParamsM m Frame Source
bind :: MonadLamIf val m => Name -> val -> ParamsM m () Source
tickL :: MonadLamIf val m => Exp -> Lens LamIfEnv (Maybe ℕ) -> Lens (LamIfState val) [Exp] -> ParamsM m () Source
tickO :: MonadLamIf val m => Exp -> ParamsM m () Source
refine :: MonadLamIf val m => Name -> val -> ParamsM m () Source
delZeroM :: MonadLamIf val m => Name -> ParamsM m () Source
stackReturn :: MonadLamIf val m => Maybe Atom -> AtomVal -> ParamsM m Exp Source
tickK :: MonadLamIf val m => ParamsM m () Source
gc :: MonadLamIf val m => Exp -> m () Source
class (MonadLamIf val m, Inject ι ς, GaloisTransformer ς m) => ExecutionLamIf val ι ς m | m -> val, m -> ς Source
(Ord val, POrd val, JoinLattice val, Val val) => ExecutionLamIf val (InjectLamIf val) (PathSensitiveΣᵇ val) (PathSensitiveM val) Source | |
(Ord val, POrd val, JoinLattice val, Difference val, Val val, Pretty val) => ExecutionLamIf val (InjectLamIf val) (FlowInsensitiveΣᵇ val) (FlowInsensitiveM val) Source | |
(Ord val, POrd val, JoinLattice val, Difference val, Val val, Pretty val) => ExecutionLamIf val (InjectLamIf val) (FlowSensitiveΣᵇ val) (FlowSensitiveM val) Source |
type LFPLamIf ς = (POrd (ς Exp), JoinLattice (ς Exp), Difference (ς Exp)) Source