Fixed performance bug in ext-core preprocessor
[ghc-hetmet.git] / utils / ext-core / Language / Core / Environments.hs
1 module Language.Core.Environments where
2
3 import Language.Core.Env
4 import Language.Core.Core
5 import Language.Core.Printer()
6
7 {- Environments. -}
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
14   deriving Show
15
16 {- Extend an environment, checking for illegal shadowing of identifiers (for term
17    variables -- shadowing type variables is allowed.) -}
18 data EnvType = Tv | NotTv
19   deriving Eq