From: Roman Leshchinskiy Date: Tue, 7 Aug 2007 06:05:24 +0000 (+0000) Subject: Add built-in PA dictionaries for boxed tuples X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=f26b161bf682863353f188c2a8d52b7492bebcfa;p=ghc-hetmet.git Add built-in PA dictionaries for boxed tuples --- diff --git a/compiler/vectorise/Vectorise.hs b/compiler/vectorise/Vectorise.hs index 39c6a23..4116446 100644 --- a/compiler/vectorise/Vectorise.hs +++ b/compiler/vectorise/Vectorise.hs @@ -46,11 +46,22 @@ import Outputable import FastString import Control.Monad ( liftM, liftM2, zipWithM, mapAndUnzipM ) -mkNDPVar :: FastString -> RdrName -mkNDPVar fs = mkRdrQual nDP_BUILTIN (mkVarOccFS fs) +mkNDPVar :: String -> RdrName +mkNDPVar s = mkRdrQual nDP_BUILTIN (mkVarOcc s) + +mkNDPVarFS :: FastString -> RdrName +mkNDPVarFS fs = mkRdrQual nDP_BUILTIN (mkVarOccFS fs) builtin_PAs :: [(Name, RdrName)] -builtin_PAs = [(intTyConName, mkNDPVar FSLIT("dPA_Int"))] +builtin_PAs = [ + mk intTyConName FSLIT("dPA_Int") + ] + ++ tups + where + mk name fs = (name, mkNDPVarFS fs) + + tups = mk_tup 0 : map mk_tup [2..3] + mk_tup n = (getName $ tupleTyCon Boxed n, mkNDPVar $ "dPA_" ++ show n) vectorise :: HscEnv -> UniqSupply -> RuleBase -> ModGuts -> IO (SimplCount, ModGuts)