From 4a396303e52917745b804673cac27128dca351d5 Mon Sep 17 00:00:00 2001 From: Roman Leshchinskiy Date: Tue, 17 Jul 2007 05:49:43 +0000 Subject: [PATCH] Add vectorisation environment transformers --- compiler/vectorise/VectMonad.hs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/compiler/vectorise/VectMonad.hs b/compiler/vectorise/VectMonad.hs index 7b201fa..157bea3 100644 --- a/compiler/vectorise/VectMonad.hs +++ b/compiler/vectorise/VectMonad.hs @@ -14,8 +14,9 @@ module VectMonad ( LocalEnv(..), readLEnv, setLEnv, updLEnv, - defGlobalVar, lookupVar, - lookupTyCon, + lookupVar, defGlobalVar, + lookupTyCon, defTyCon, + lookupDataCon, defDataCon, lookupTyVarPA, defLocalTyVar, defLocalTyVarWithPA, localTyVars, lookupInst, lookupFamInst @@ -296,6 +297,17 @@ lookupVar v lookupTyCon :: TyCon -> VM (Maybe TyCon) lookupTyCon tc = readGEnv $ \env -> lookupNameEnv (global_tycons env) (tyConName tc) +defTyCon :: TyCon -> TyCon -> VM () +defTyCon tc tc' = updGEnv $ \env -> + env { global_tycons = extendNameEnv (global_tycons env) (tyConName tc) tc' } + +lookupDataCon :: DataCon -> VM (Maybe DataCon) +lookupDataCon dc = readGEnv $ \env -> lookupNameEnv (global_datacons env) (dataConName dc) + +defDataCon :: DataCon -> DataCon -> VM () +defDataCon dc dc' = updGEnv $ \env -> + env { global_datacons = extendNameEnv (global_datacons env) (dataConName dc) dc' } + lookupTyVarPA :: Var -> VM (Maybe CoreExpr) lookupTyVarPA tv = readLEnv $ \env -> lookupVarEnv (local_tyvar_pa env) tv -- 1.7.10.4