1 module Language.Core.Environments where
3 import Language.Core.Env
4 import Language.Core.Core
5 import Language.Core.Printer()
8 type Tvenv = Env Tvar Kind -- type variables (local only)
9 type Tcenv = Env Tcon KindOrCoercion -- type constructors
10 type Cenv = Env Dcon Ty -- data constructors
11 type Venv = Env Var Ty -- values
12 type Menv = Env AnMname Envs -- modules
13 data Envs = Envs {tcenv_::Tcenv,cenv_::Cenv,venv_::Venv} -- all the exportable envs
16 {- Extend an environment, checking for illegal shadowing of identifiers (for term
17 variables -- shadowing type variables is allowed.) -}
18 data EnvType = Tv | NotTv