Fix recursive superclasses (again). Fixes Trac #4809.
[ghc-hetmet.git] / compiler / hsSyn / HsBinds.lhs
index 0a4769d..2544515 100644 (file)
@@ -155,6 +155,7 @@ data HsBindLR idL idR
         abs_ev_binds :: TcEvBinds,     -- Evidence bindings
        abs_binds    :: LHsBinds idL   -- Typechecked user bindings
     }
+
   deriving (Data, Typeable)
        -- Consider (AbsBinds tvs ds [(ftvs, poly_f, mono_f) binds]
        -- 
@@ -299,8 +300,8 @@ ppr_monobind (FunBind { fun_id = fun, fun_infix = inf,
     $$  pprFunBind (unLoc fun) inf matches
     $$  ifPprDebug (ppr wrap)
 
-ppr_monobind (AbsBinds { abs_tvs = tyvars, abs_ev_vars = dictvars 
-                      , abs_exports = exports, abs_binds = val_binds
+ppr_monobind (AbsBinds { abs_tvs = tyvars, abs_ev_vars = dictvars
+                       , abs_exports = exports, abs_binds = val_binds
                        , abs_ev_binds = ev_binds })
   = sep [ptext (sLit "AbsBinds"),
         brackets (interpp'SP tyvars),
@@ -448,9 +449,6 @@ data EvTerm
 
   | EvDFunApp DFunId           -- Dictionary instance application
        [Type] [EvVar] 
-       [EvVar]  -- The dependencies, which is generally a bigger list than
-                -- the arguments of the dfun. 
-                -- See Note [Dependencies in self dictionaries] in TcSimplify
 
   | EvSuperClass DictId Int    -- n'th superclass. Used for both equalities and
                                -- dictionaries, even though the former have no
@@ -577,7 +575,7 @@ instance Outputable EvTerm where
   ppr (EvCast v co)     = ppr v <+> (ptext (sLit "`cast`")) <+> pprParendType co
   ppr (EvCoercion co)    = ppr co
   ppr (EvSuperClass d n) = ptext (sLit "sc") <> parens (ppr (d,n))
-  ppr (EvDFunApp df tys ts deps) = ppr df <+> sep [ char '@' <> ppr tys, ppr ts, ppr deps ]
+  ppr (EvDFunApp df tys ts) = ppr df <+> sep [ char '@' <> ppr tys, ppr ts ]
 \end{code}
 
 %************************************************************************