diff options
Diffstat (limited to 'compiler/types/Class.lhs')
-rw-r--r-- | compiler/types/Class.lhs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/compiler/types/Class.lhs b/compiler/types/Class.lhs index 016ce1bfbe..fb6b901cf3 100644 --- a/compiler/types/Class.lhs +++ b/compiler/types/Class.lhs @@ -5,9 +5,11 @@ \begin{code} module Class ( - Class, ClassOpItem, FunDep, + Class, ClassOpItem, DefMeth (..), + FunDep, pprFundeps, + 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 -\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} |