Remove references to SynTyCon. Fixes #9812
authorJan Stolarek <jan.stolarek@p.lodz.pl>
Tue, 2 Dec 2014 12:57:46 +0000 (13:57 +0100)
committerJan Stolarek <jan.stolarek@p.lodz.pl>
Tue, 2 Dec 2014 13:10:09 +0000 (14:10 +0100)
compiler/typecheck/TcTyDecls.lhs
compiler/types/TyCon.hs
compiler/vectorise/Vectorise/Utils/Base.hs
compiler/vectorise/Vectorise/Utils/PADict.hs

index c998853..3f8b234 100644 (file)
@@ -97,10 +97,10 @@ If we reverse this decision, this comment came from tcTyDecl1, and should
 
 We'd also need to add back in this definition
 
-synTyConsOfType :: Type -> [TyCon]
+synonymTyConsOfType :: Type -> [TyCon]
 -- Does not look through type synonyms at all
 -- Return a list of synonym tycons
-synTyConsOfType ty
+synonymTyConsOfType ty
   = nameEnvElts (go ty)
   where
      go :: Type -> NameEnv TyCon  -- The NameEnv does duplicate elim
@@ -110,8 +110,9 @@ synTyConsOfType ty
      go (FunTy a b)               = go a `plusNameEnv` go b
      go (ForAllTy _ ty)           = go ty
 
-     go_tc tc tys | isSynTyCon tc = extendNameEnv (go_s tys) (tyConName tc) tc
-                  | otherwise     = go_s tys
+     go_tc tc tys | isTypeSynonymTyCon tc = extendNameEnv (go_s tys)
+                                                          (tyConName tc) tc
+                  | otherwise             = go_s tys
      go_s tys = foldr (plusNameEnv . go) emptyNameEnv tys
 ---------------------------------------- END NOTE ]
 
index 5a2b33e..4283545 100644 (file)
@@ -140,14 +140,14 @@ Note [Type synonym families]
 * Translation of type family decl:
         type family F a :: *
   translates to
-    a SynTyCon 'F', whose SynTyConRhs is OpenSynFamilyTyCon
+    a FamilyTyCon 'F', whose FamTyConFlav is OpenSynFamilyTyCon
 
         type family G a :: * where
           G Int = Bool
           G Bool = Char
           G a = ()
   translates to
-    a SynTyCon 'G', whose SynTyConRhs is ClosedSynFamilyTyCon, with the
+    a FamilyTyCon 'G', whose FamTyConFlav is ClosedSynFamilyTyCon, with the
     appropriate CoAxiom representing the equations
 
 * In the future we might want to support
index 7d4bae3..dc1f210 100644 (file)
@@ -24,7 +24,7 @@ module Vectorise.Utils.Base
   , pdatasReprTyConExact
   , pdataUnwrapScrut
   
-  , preprSynTyCon
+  , preprFamInst
 ) where
 
 import Vectorise.Monad
@@ -258,5 +258,5 @@ pdataUnwrapScrut (ve, le)
 
 -- |Get the representation tycon of the 'PRepr' type family for a given type.
 --
-preprSynTyCon :: Type -> VM FamInstMatch
-preprSynTyCon ty = builtin preprTyCon >>= (`lookupFamInst` [ty])
+preprFamInst :: Type -> VM FamInstMatch
+preprFamInst ty = builtin preprTyCon >>= (`lookupFamInst` [ty])
index 01fbede..c2ca20a 100644 (file)
@@ -118,7 +118,8 @@ paMethod method _ ty
 prDictOfPReprInst :: Type -> VM CoreExpr
 prDictOfPReprInst ty
   = do
-    { (FamInstMatch { fim_instance = prepr_fam, fim_tys = prepr_args }) <- preprSynTyCon ty
+    { (FamInstMatch { fim_instance = prepr_fam, fim_tys = prepr_args })
+          <- preprFamInst ty
     ; prDictOfPReprInstTyCon ty (famInstAxiom prepr_fam) prepr_args
     }