Print infix function definitions correctly in HsSyn
[ghc-hetmet.git] / compiler / hsSyn / HsBinds.lhs
index 9e08cf5..c0f01a8 100644 (file)
@@ -165,7 +165,7 @@ instance OutputableBndr id => Outputable (HsValBinds id) where
 pprValBindsForUser :: (OutputableBndr id1, OutputableBndr id2)
                   => LHsBinds id1 -> [LSig id2] -> SDoc
 pprValBindsForUser binds sigs
-  = vcat (map snd (sort_by_loc decls))
+  = pprDeeperList vcat (map snd (sort_by_loc decls))
   where
 
     decls :: [(SrcSpan, SDoc)]
@@ -177,7 +177,7 @@ pprValBindsForUser binds sigs
 pprLHsBinds :: OutputableBndr id => LHsBinds id -> SDoc
 pprLHsBinds binds 
   | isEmptyLHsBinds binds = empty
-  | otherwise = lbrace <+> vcat (map ppr (bagToList binds)) <+> rbrace
+  | otherwise = lbrace <+> pprDeeperList vcat (map ppr (bagToList binds)) <+> rbrace
 
 ------------
 emptyLocalBinds :: HsLocalBinds a
@@ -242,14 +242,13 @@ ppr_monobind :: OutputableBndr id => HsBind id -> SDoc
 
 ppr_monobind (PatBind { pat_lhs = pat, pat_rhs = grhss })      = pprPatBind pat grhss
 ppr_monobind (VarBind { var_id = var, var_rhs = rhs })         = ppr var <+> equals <+> pprExpr (unLoc rhs)
-ppr_monobind (FunBind { fun_id = fun, 
+ppr_monobind (FunBind { fun_id = fun, fun_infix = inf,
                        fun_matches = matches,
                        fun_tick = tick }) = 
                           (case tick of 
                              Nothing -> empty
                              Just t  -> text "-- tick id = " <> ppr t
-                          ) $$ pprFunBind (unLoc fun) matches
-      -- ToDo: print infix if appropriate
+                          ) $$ pprFunBind (unLoc fun) inf matches
 
 ppr_monobind (AbsBinds { abs_tvs = tyvars, abs_dicts = dictvars, 
                         abs_exports = exports, abs_binds = val_binds })
@@ -292,7 +291,7 @@ data IPBind id
        (LHsExpr id)
 
 instance (OutputableBndr id) => Outputable (HsIPBinds id) where
-  ppr (IPBinds bs ds) = vcat (map ppr bs) 
+  ppr (IPBinds bs ds) = pprDeeperList vcat (map ppr bs) 
                        $$ pprLHsBinds ds
 
 instance (OutputableBndr id) => Outputable (IPBind id) where
@@ -546,3 +545,4 @@ pprPrag :: Outputable id => id -> LPrag -> SDoc
 pprPrag var (L _ (InlinePrag inl))         = ppr inl <+> ppr var
 pprPrag var (L _ (SpecPrag expr ty _ inl)) = pprSpec var ty inl
 \end{code}
+