From: Roman Leshchinskiy Date: Wed, 22 Aug 2007 02:11:33 +0000 (+0000) Subject: Add built-ins to vectorisation monad X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=5d92aec437d5868bc0f88c9debde95822d008701;hp=7331582b8f67e005cbb839248eff492127f9bcbe Add built-ins to vectorisation monad --- diff --git a/compiler/vectorise/VectMonad.hs b/compiler/vectorise/VectMonad.hs index aae76c9..22b776e 100644 --- a/compiler/vectorise/VectMonad.hs +++ b/compiler/vectorise/VectMonad.hs @@ -71,7 +71,10 @@ data Builtins = Builtins { , embedTyCon :: TyCon , embedDataCon :: DataCon , crossTyCon :: TyCon + , crossDataCon :: DataCon , plusTyCon :: TyCon + , leftDataCon :: DataCon + , rightDataCon :: DataCon , closureTyCon :: TyCon , mkClosureVar :: Var , applyClosureVar :: Var @@ -91,12 +94,14 @@ initBuiltins = do parrayTyCon <- dsLookupTyCon parrayTyConName paTyCon <- dsLookupTyCon paTyConName - let paDataCon = case tyConDataCons paTyCon of [dc] -> dc + let [paDataCon] = tyConDataCons paTyCon preprTyCon <- dsLookupTyCon preprTyConName embedTyCon <- dsLookupTyCon embedTyConName - let embedDataCon = case tyConDataCons embedTyCon of [dc] -> dc + let [embedDataCon] = tyConDataCons embedTyCon crossTyCon <- dsLookupTyCon crossTyConName + let [crossDataCon] = tyConDataCons crossTyCon plusTyCon <- dsLookupTyCon plusTyConName + let [leftDataCon, rightDataCon] = tyConDataCons plusTyCon closureTyCon <- dsLookupTyCon closureTyConName mkClosureVar <- dsLookupGlobalId mkClosureName @@ -121,7 +126,10 @@ initBuiltins , embedTyCon = embedTyCon , embedDataCon = embedDataCon , crossTyCon = crossTyCon + , crossDataCon = crossDataCon , plusTyCon = plusTyCon + , leftDataCon = leftDataCon + , rightDataCon = rightDataCon , closureTyCon = closureTyCon , mkClosureVar = mkClosureVar , applyClosureVar = applyClosureVar