summaryrefslogtreecommitdiff
path: root/compiler/vectorise/VectMonad.hs
diff options
context:
space:
mode:
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>2008-07-01 02:45:15 +0000
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>2008-07-01 02:45:15 +0000
commit13af4e5da214fb0b9be6a536048fe7a905af3b16 (patch)
tree88fc42ce1955a065afd82114896c59b05898542a /compiler/vectorise/VectMonad.hs
parent4b6197ca39d49029b14ea08ceae7d947bc2845db (diff)
downloadhaskell-13af4e5da214fb0b9be6a536048fe7a905af3b16.tar.gz
Parametrise vectoriser with DPH package
Diffstat (limited to 'compiler/vectorise/VectMonad.hs')
-rw-r--r--compiler/vectorise/VectMonad.hs10
1 files changed, 7 insertions, 3 deletions
diff --git a/compiler/vectorise/VectMonad.hs b/compiler/vectorise/VectMonad.hs
index b8c9c06598..1299683b9f 100644
--- a/compiler/vectorise/VectMonad.hs
+++ b/compiler/vectorise/VectMonad.hs
@@ -37,6 +37,7 @@ module VectMonad (
import VectBuiltIn
import HscTypes
+import Module ( dphSeqPackageId )
import CoreSyn
import TyCon
import DataCon
@@ -253,6 +254,9 @@ closedV p = do
liftDs :: DsM a -> VM a
liftDs p = VM $ \_ genv lenv -> do { x <- p; return (Yes genv lenv x) }
+liftBuiltinDs :: (Builtins -> DsM a) -> VM a
+liftBuiltinDs p = VM $ \bi genv lenv -> do { x <- p bi; return (Yes genv lenv x)}
+
builtin :: (Builtins -> a) -> VM a
builtin f = VM $ \bi genv lenv -> return (Yes genv lenv (f bi))
@@ -378,10 +382,10 @@ defDataCon dc dc' = updGEnv $ \env ->
env { global_datacons = extendNameEnv (global_datacons env) (dataConName dc) dc' }
lookupPrimPArray :: TyCon -> VM (Maybe TyCon)
-lookupPrimPArray = liftDs . primPArray
+lookupPrimPArray = liftBuiltinDs . primPArray
lookupPrimMethod :: TyCon -> String -> VM (Maybe Var)
-lookupPrimMethod tycon = liftDs . primMethod tycon
+lookupPrimMethod tycon = liftBuiltinDs . primMethod tycon
lookupTyConPA :: TyCon -> VM (Maybe Var)
lookupTyConPA tc = readGEnv $ \env -> lookupNameEnv (global_pa_funs env) (tyConName tc)
@@ -487,7 +491,7 @@ initV hsc_env guts info p
go =
do
- builtins <- initBuiltins
+ builtins <- initBuiltins dphSeqPackageId
builtin_vars <- initBuiltinVars builtins
builtin_tycons <- initBuiltinTyCons builtins
let builtin_datacons = initBuiltinDataCons builtins