maam-0.1.0.0: A monadic framework for abstract interpretation.

Safe HaskellNone
LanguageHaskell2010

Lang.Lam.Passes

Documentation

data StampSt Source

Constructors

StampSt 

Instances

data Env Source

Constructors

Env 

Fields

bdrEnv :: Map Name BdrNum
 

type StampM 𝓈 m = (HasLens 𝓈 StampSt, MonadStateE 𝓈 m, MonadReader Env m) Source

lookupName :: StampM 𝓈 m => Name -> m SName Source

stampM :: StampM 𝓈 m => Exp -> m SExp Source

data CPSKon r m a where Source

Constructors

MetaKon :: (a -> m r) -> CPSKon r m a 
ObjectKon :: SGPico -> (SGPico -> m SGCall) -> CPSKon SGCall m SGPico 

Instances

Balloon CPSKon SGCall 
Morphism3 (* -> *) * (CPSKon r) (KFun * r) 
Isomorphism3 (* -> *) * (KFun * r) (CPSKon r) 
Morphism3 (* -> *) * (KFun * r) (CPSKon r) 

cpsM :: CPSM m => SExp -> m SGPico Source

evalStStateT :: Functor m => CPSSt -> StStateT m a -> m a Source