From 5d92aec437d5868bc0f88c9debde95822d008701 Mon Sep 17 00:00:00 2001 From: Roman Leshchinskiy Date: Wed, 22 Aug 2007 02:11:33 +0000 Subject: [PATCH] Add built-ins to vectorisation monad --- compiler/vectorise/VectMonad.hs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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 -- 1.7.10.4