X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fext-core%2FLanguage%2FCore%2FEnvironments.hs;fp=utils%2Fext-core%2FLanguage%2FCore%2FEnvironments.hs;h=47ba5948c85299024d5d499298e0023006f6f0be;hb=460784c371813cb92eac71df403fe34258c8f3b8;hp=0000000000000000000000000000000000000000;hpb=4260f0c9b38d9b8b5851eae021d0a45a90719ef0;p=ghc-hetmet.git diff --git a/utils/ext-core/Language/Core/Environments.hs b/utils/ext-core/Language/Core/Environments.hs new file mode 100644 index 0000000..47ba594 --- /dev/null +++ b/utils/ext-core/Language/Core/Environments.hs @@ -0,0 +1,19 @@ +module Language.Core.Environments where + +import Language.Core.Env +import Language.Core.Core +import Language.Core.Printer() + +{- Environments. -} +type Tvenv = Env Tvar Kind -- type variables (local only) +type Tcenv = Env Tcon KindOrCoercion -- type constructors +type Cenv = Env Dcon Ty -- data constructors +type Venv = Env Var Ty -- values +type Menv = Env AnMname Envs -- modules +data Envs = Envs {tcenv_::Tcenv,cenv_::Cenv,venv_::Venv} -- all the exportable envs + deriving Show + +{- Extend an environment, checking for illegal shadowing of identifiers (for term + variables -- shadowing type variables is allowed.) -} +data EnvType = Tv | NotTv + deriving Eq