- data Scope a b
- data LocalEnv = LocalEnv {
- local_vars :: VarEnv (Var, Var)
- local_tyvars :: [TyVar]
- local_tyvar_pa :: VarEnv CoreExpr
- local_bind_name :: FastString
- emptyLocalEnv :: LocalEnv
- data GlobalEnv = GlobalEnv {
- global_vars :: VarEnv Var
- global_vect_decls :: VarEnv (Type, CoreExpr)
- global_scalar_vars :: VarSet
- global_scalar_tycons :: NameSet
- global_novect_vars :: VarSet
- global_exported_vars :: VarEnv (Var, Var)
- global_tycons :: NameEnv TyCon
- global_datacons :: NameEnv DataCon
- global_pa_funs :: NameEnv Var
- global_pr_funs :: NameEnv Var
- global_boxed_tycons :: NameEnv TyCon
- global_inst_env :: (InstEnv, InstEnv)
- global_fam_inst_env :: FamInstEnvs
- global_bindings :: [(Var, CoreExpr)]
- initGlobalEnv :: VectInfo -> [CoreVect] -> (InstEnv, InstEnv) -> FamInstEnvs -> GlobalEnv
- extendImportedVarsEnv :: [(Var, Var)] -> GlobalEnv -> GlobalEnv
- setFamEnv :: FamInstEnv -> GlobalEnv -> GlobalEnv
- extendFamEnv :: [FamInst] -> GlobalEnv -> GlobalEnv
- extendTyConsEnv :: [(Name, TyCon)] -> GlobalEnv -> GlobalEnv
- extendDataConsEnv :: [(Name, DataCon)] -> GlobalEnv -> GlobalEnv
- extendPAFunsEnv :: [(Name, Var)] -> GlobalEnv -> GlobalEnv
- setPRFunsEnv :: [(Name, Var)] -> GlobalEnv -> GlobalEnv
- setBoxedTyConsEnv :: [(Name, TyCon)] -> GlobalEnv -> GlobalEnv
- modVectInfo :: GlobalEnv -> TypeEnv -> VectInfo -> VectInfo
Documentation
Local Environments
The local environment.
LocalEnv | |
|
emptyLocalEnv :: LocalEnvSource
Create an empty local environment.
Global Environments
The global environment: entities that exist at top-level.
GlobalEnv | |
|
initGlobalEnv :: VectInfo -> [CoreVect] -> (InstEnv, InstEnv) -> FamInstEnvs -> GlobalEnvSource
Create an initial global environment.
extendImportedVarsEnv :: [(Var, Var)] -> GlobalEnv -> GlobalEnvSource
Extend the list of global variables in an environment.
setFamEnv :: FamInstEnv -> GlobalEnv -> GlobalEnvSource
Set the list of type family instances in an environment.
extendFamEnv :: [FamInst] -> GlobalEnv -> GlobalEnvSource
Extend the list of type family instances.
extendTyConsEnv :: [(Name, TyCon)] -> GlobalEnv -> GlobalEnvSource
Extend the list of type constructors in an environment.
extendDataConsEnv :: [(Name, DataCon)] -> GlobalEnv -> GlobalEnvSource
Extend the list of data constructors in an environment.
extendPAFunsEnv :: [(Name, Var)] -> GlobalEnv -> GlobalEnvSource
Extend the list of PA functions in an environment.
setPRFunsEnv :: [(Name, Var)] -> GlobalEnv -> GlobalEnvSource
Set the list of PR functions in an environment.