X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fvectorise%2FVectorise%2FType%2FPADict.hs;h=6b67f66678614ba6bbbe3f7bb2e93d7ee6535086;hp=677a7bf84be81aaa9998ea440988078f72485404;hb=ed333003733fd3f3a3de015998f59ee1a709230a;hpb=0a495e140bc742050f33d6e273058bbcfbce6066 diff --git a/compiler/vectorise/Vectorise/Type/PADict.hs b/compiler/vectorise/Vectorise/Type/PADict.hs index 677a7bf..6b67f66 100644 --- a/compiler/vectorise/Vectorise/Type/PADict.hs +++ b/compiler/vectorise/Vectorise/Type/PADict.hs @@ -19,11 +19,11 @@ import TypeRep import Id import Var import Name -import Outputable import Class +import Outputable -debug = False -dtrace s x = if debug then pprTrace "Vectoris.Type.PADict" s x else x +-- debug = False +-- dtrace s x = if debug then pprTrace "Vectoris.Type.PADict" s x else x -- | Build the PA dictionary for some type and hoist it to top level. -- The PA dictionary holds fns that convert values to and from their vectorised representations. @@ -35,9 +35,10 @@ buildPADict -> VM Var -- ^ name of the top-level dictionary function. buildPADict vect_tc prepr_tc arr_tc repr - = dtrace (text "buildPADict" <+> ppr vect_tc <+> ppr prepr_tc <+> ppr arr_tc) - $ polyAbstract tvs $ \args@[] -> - do + = polyAbstract tvs $ \args -> + case args of + (_:_) -> pprPanic "Vectorise.Type.PADict.buildPADict" (text "why do we need superclass dicts?") + [] -> do -- TODO: I'm forcing args to [] because I'm not sure why we need them. -- class PA has superclass (PR (PRepr a)) but we're not using -- the superclass dictionary to build the PA dictionary. @@ -51,8 +52,6 @@ buildPADict vect_tc prepr_tc arr_tc repr $ mkConApp pa_dc $ Type inst_ty : map (method_call args) method_ids - dtrace (text "dict = " <+> ppr dict) $ return () - -- Build the type of the dictionary function. pa_tc <- builtin paTyCon let pa_opitems = [(id, NoDefMeth) | id <- method_ids]