X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FbasicTypes%2FBasicTypes.lhs;h=022a8fc3b37a04d8c15de7af6a74ebe28872967b;hp=d4863dd8656433a31afbaf6d851925efeb95fad2;hb=786932468faac49aafe20b65eabc8bdf465fbc9d;hpb=f03b9562a92c6ef94c603a334d5d5e1cd2165c92 diff --git a/compiler/basicTypes/BasicTypes.lhs b/compiler/basicTypes/BasicTypes.lhs index d4863dd..022a8fc 100644 --- a/compiler/basicTypes/BasicTypes.lhs +++ b/compiler/basicTypes/BasicTypes.lhs @@ -21,7 +21,7 @@ module BasicTypes( Arity, - FunctionOrData(..), + FunctionOrData(..), WarningTxt(..), @@ -57,6 +57,8 @@ module BasicTypes( HsBang(..), isBanged, isMarkedUnboxed, StrictnessMark(..), isMarkedStrict, + DefMethSpec(..), + CompilerPhase, Activation(..), isActive, isNeverActive, isAlwaysActive, isEarlyActive, RuleMatchInfo(..), isConLike, isFunLike, @@ -522,7 +524,7 @@ instance Show OccInfo where %************************************************************************ %* * -\subsection{Strictness indication} + Strictness indication %* * %************************************************************************ @@ -575,6 +577,28 @@ isMarkedStrict _ = True -- All others are strict %************************************************************************ %* * + Default method specfication +%* * +%************************************************************************ + +The DefMethSpec enumeration just indicates what sort of default method +is used for a class. It is generated from source code, and present in +interface files; it is converted to Class.DefMeth before begin put in a +Class object. + +\begin{code} +data DefMethSpec = NoDM -- No default method + | VanillaDM -- Default method given with polymorphic code + | GenericDM -- Default method given with generic code + +instance Outputable DefMethSpec where + ppr NoDM = empty + ppr VanillaDM = ptext (sLit "{- Has default method -}") + ppr GenericDM = ptext (sLit "{- Has generic default method -}") +\end{code} + +%************************************************************************ +%* * \subsection{Success flag} %* * %************************************************************************