Commit 1796a476 authored by simonpj's avatar simonpj

[project @ 2004-03-11 14:31:56 by simonpj]

Better printing for LHsBinds
parent 3cc0dcd4
......@@ -50,7 +50,7 @@ instance OutputableBndr id => Outputable (HsBindGroup id) where
ppr (HsBindGroup binds sigs is_rec)
= vcat [ppr_isrec,
vcat (map ppr sigs),
vcat (map ppr (bagToList binds))
pprLHsBinds binds
]
where
ppr_isrec = getPprStyle $ \ sty ->
......@@ -81,6 +81,9 @@ instance (OutputableBndr id) => Outputable (IPBind id) where
type LHsBinds id = Bag (LHsBind id)
type LHsBind id = Located (HsBind id)
pprLHsBinds :: OutputableBndr id => LHsBinds id -> SDoc
pprLHsBinds binds = lbrace <+> vcat (map ppr (bagToList binds)) <+> rbrace
data HsBind id
= FunBind (Located id)
-- Used for both functions f x = e
......@@ -161,7 +164,7 @@ ppr_monobind (AbsBinds tyvars dictvars exports inlines val_binds)
nest 4 ( vcat [pprBndr LetBind x | (_,x,_) <- exports]
-- Print type signatures
$$
ppr val_binds )
pprLHsBinds val_binds )
\end{code}
%************************************************************************
......
......@@ -32,7 +32,7 @@ import {-# SOURCE #-} HsExpr( HsExpr, pprExpr )
-- Because Expr imports Decls via HsBracket
import HsBinds ( HsBindGroup, HsBind, LHsBinds,
Sig(..), LSig, LFixitySig )
Sig(..), LSig, LFixitySig, pprLHsBinds )
import HsPat ( HsConDetails(..), hsConArgs )
import HsImpExp ( pprHsVar )
import HsTypes
......@@ -541,7 +541,7 @@ instance (OutputableBndr name) => Outputable (InstDecl name) where
ppr (InstDecl inst_ty binds uprags)
= vcat [hsep [ptext SLIT("instance"), ppr inst_ty, ptext SLIT("where")],
nest 4 (ppr uprags),
nest 4 (ppr binds) ]
nest 4 (pprLHsBinds binds) ]
\end{code}
%************************************************************************
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment