[project @ 2001-06-11 12:24:51 by simonpj]
[ghc-hetmet.git] / ghc / compiler / hsSyn / HsBinds.lhs
index 2cea4d2..4050a2e 100644 (file)
@@ -10,8 +10,9 @@ module HsBinds where
 
 #include "HsVersions.h"
 
-import {-# SOURCE #-} HsExpr    ( pprExpr, HsExpr )
-import {-# SOURCE #-} HsMatches ( pprMatches, Match, pprGRHSs, GRHSs )
+import {-# SOURCE #-} HsExpr ( HsExpr, pprExpr,
+                              Match,  pprFunBind,
+                              GRHSs,  pprPatBind )
 
 -- friends:
 import HsTypes         ( HsType )
@@ -200,11 +201,8 @@ ppr_monobind EmptyMonoBinds = empty
 ppr_monobind (AndMonoBinds binds1 binds2)
       = ppr_monobind binds1 $$ ppr_monobind binds2
 
-ppr_monobind (PatMonoBind pat grhss locn)
-      = sep [ppr pat, nest 4 (pprGRHSs False grhss)]
-
-ppr_monobind (FunMonoBind fun inf matches locn)
-      = pprMatches (False, ppr fun) matches
+ppr_monobind (PatMonoBind pat grhss locn)      = pprPatBind pat grhss
+ppr_monobind (FunMonoBind fun inf matches locn) = pprFunBind fun matches
       -- ToDo: print infix if appropriate
 
 ppr_monobind (VarMonoBind name expr)
@@ -241,11 +239,8 @@ data Sig name
                SrcLoc
 
   | ClassOpSig name            -- Selector name
-                (DefMeth name) -- (Just dm_name) for source-file class signatures
-                               --      The name may not be used, if there isn't a
-                               --      generic default method, but it's there if we
-                               --      need it
-                               -- Gives DefMeth info for interface files sigs
+                (DefMeth name) -- Default-method info
+                               -- See "THE NAMING STORY" in HsDecls
                (HsType name)
                SrcLoc
 
@@ -382,10 +377,10 @@ eqHsSig (InlineSig n1 _ _)   (InlineSig n2 _ _)   = n1 == n2
 eqHsSig (NoInlineSig n1 _ _) (NoInlineSig n2 _ _) = n1 == n2
 
 eqHsSig (SpecInstSig ty1 _)  (SpecInstSig ty2 _)  = ty1 == ty2
-eqHsSig (SpecSig n1 ty1 _)   (SpecSig n2 ty2 _) 
-  = -- may have many specialisations for one value;
+eqHsSig (SpecSig n1 ty1 _)   (SpecSig n2 ty2 _)   =
+    -- may have many specialisations for one value;
     -- but not ones that are exactly the same...
     (n1 == n2) && (ty1 == ty2)
 
-eqHsSig other_1 other_2 = False
+eqHsSig _other1 _other2 = False
 \end{code}