Safe Haskell | None |
---|---|
Language | Haskell2010 |
SimplEnv
Documentation
type InCoercion = Coercion
type OutCoercion = Coercion
setMode :: SimplifierMode -> SimplEnv -> SimplEnv
getMode :: SimplEnv -> SimplifierMode
updMode :: (SimplifierMode -> SimplifierMode) -> SimplEnv -> SimplEnv
data SimplEnv
Constructors
SimplEnv | |
Fields
|
pprSimplEnv :: SimplEnv -> SDoc
mkSimplEnv :: SimplifierMode -> SimplEnv
extendIdSubst :: SimplEnv -> Id -> SimplSR -> SimplEnv
extendTvSubst :: SimplEnv -> TyVar -> Type -> SimplEnv
extendCvSubst :: SimplEnv -> CoVar -> Coercion -> SimplEnv
zapSubstEnv :: SimplEnv -> SimplEnv
setSubstEnv :: SimplEnv -> TvSubstEnv -> CvSubstEnv -> SimplIdSubst -> SimplEnv
getInScope :: SimplEnv -> InScopeSet
setInScope :: SimplEnv -> SimplEnv -> SimplEnv
setInScopeSet :: SimplEnv -> InScopeSet -> SimplEnv
modifyInScope :: SimplEnv -> CoreBndr -> SimplEnv
addNewInScopeIds :: SimplEnv -> [CoreBndr] -> SimplEnv
data SimplSR
Constructors
DoneEx OutExpr | |
DoneId OutId | |
ContEx TvSubstEnv CvSubstEnv SimplIdSubst InExpr |
Instances
lookupRecBndr :: SimplEnv -> InId -> OutId
refineFromInScope :: InScopeSet -> Var -> Var
simplRecBndrs :: SimplEnv -> [InBndr] -> SimplM SimplEnv
substTyVar :: SimplEnv -> TyVar -> Type
getTvSubst :: SimplEnv -> TvSubst
getCvSubst :: SimplEnv -> CvSubst
substCoVar :: SimplEnv -> CoVar -> Coercion
data Floats
Instances
isEmptyFloats :: SimplEnv -> Bool
extendFloats :: SimplEnv -> OutBind -> SimplEnv
wrapFloats :: SimplEnv -> OutExpr -> OutExpr
addRecFloats :: SimplEnv -> SimplEnv -> SimplEnv
doFloatFromRhs :: TopLevelFlag -> RecFlag -> Bool -> OutExpr -> SimplEnv -> Bool
getFloatBinds :: SimplEnv -> [CoreBind]