Massive patch for the first months work adding System FC to GHC #35
[ghc-hetmet.git] / compiler / types / Class.lhs
index 016ce1b..fb6b901 100644 (file)
@@ -5,9 +5,11 @@
 
 \begin{code}
 module Class (
 
 \begin{code}
 module Class (
-       Class, ClassOpItem, FunDep,
+       Class, ClassOpItem, 
        DefMeth (..),
 
        DefMeth (..),
 
+       FunDep, pprFundeps,
+
        mkClass, classTyVars, classArity,
        classKey, className, classSelIds, classTyCon, classMethods,
        classBigSig, classExtraBigSig, classTvsFds, classSCTheta
        mkClass, classTyVars, classArity,
        classKey, className, classSelIds, classTyCon, classMethods,
        classBigSig, classExtraBigSig, classTvsFds, classSCTheta
@@ -159,6 +161,12 @@ instance Outputable DefMeth where
     ppr DefMeth     =  text "{- has default method -}"
     ppr GenDefMeth  =  text "{- has generic method -}"
     ppr NoDefMeth   =  empty   -- No default method
     ppr DefMeth     =  text "{- has default method -}"
     ppr GenDefMeth  =  text "{- has generic method -}"
     ppr NoDefMeth   =  empty   -- No default method
-\end{code}
 
 
+pprFundeps :: Outputable a => [FunDep a] -> SDoc
+pprFundeps []  = empty
+pprFundeps fds = hsep (ptext SLIT("|") : punctuate comma (map ppr_fd fds))
+              where
+                ppr_fd (us, vs) = hsep [interppSP us, ptext SLIT("->"), 
+                                        interppSP vs]
+\end{code}