X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fvectorise%2FVectorise%2FEnv.hs;h=70ed8c4555690b20fd2378a8f37197f4c48ff0e5;hp=30f259b76088f72589b021460031f34117c6a0d3;hb=ff3bfae6010625b7ffe96bc62e8e139870684600;hpb=869984cd0306c18dcd103b9ef7dd315573dc3c6d diff --git a/compiler/vectorise/Vectorise/Env.hs b/compiler/vectorise/Vectorise/Env.hs index 30f259b..70ed8c4 100644 --- a/compiler/vectorise/Vectorise/Env.hs +++ b/compiler/vectorise/Vectorise/Env.hs @@ -11,7 +11,8 @@ module Vectorise.Env ( initGlobalEnv, extendImportedVarsEnv, extendScalars, - setFamInstEnv, + setFamEnv, + extendFamEnv, extendTyConsEnv, extendDataConsEnv, extendPAFunsEnv, @@ -142,11 +143,16 @@ extendScalars vs genv -- | Set the list of type family instances in an environment. -setFamInstEnv :: FamInstEnv -> GlobalEnv -> GlobalEnv -setFamInstEnv l_fam_inst genv +setFamEnv :: FamInstEnv -> GlobalEnv -> GlobalEnv +setFamEnv l_fam_inst genv = genv { global_fam_inst_env = (g_fam_inst, l_fam_inst) } where (g_fam_inst, _) = global_fam_inst_env genv +extendFamEnv :: [FamInst] -> GlobalEnv -> GlobalEnv +extendFamEnv new genv + = genv { global_fam_inst_env = (g_fam_inst, extendFamInstEnvList l_fam_inst new) } + where (g_fam_inst, l_fam_inst) = global_fam_inst_env genv + -- | Extend the list of type constructors in an environment. extendTyConsEnv :: [(Name, TyCon)] -> GlobalEnv -> GlobalEnv