import CoreSyn
import CostCentre ( showCostCentre )
-import Id ( idType, getIdInfo, getIdStrictness,
+import Id ( idType, getIdInfo, getIdStrictness, isTupleCon,
nullIdEnv, DataCon(..), GenId{-instances-}
)
import IdInfo ( ppIdInfo, StrictnessInfo(..) )
import Literal ( Literal{-instances-} )
-import Name ( isOpLexeme )
+import Name ( isSymLexeme )
import Outputable -- quite a few things
import PprEnv
import PprType ( GenType{-instances-}, GenTyVar{-instance-} )
= ppAboves [ ppAboves (map ppr_alt alts), ppr_default pe deflt ]
where
ppr_alt (con, params, expr)
- = ppHang (ppCat [ppr_con con (pCon pe con),
- ppInterleave ppSP (map (pMinBndr pe) params),
- ppStr "->"])
+ = ppHang (if isTupleCon con then
+ ppCat [ppParens (ppInterleave ppComma (map (pMinBndr pe) params)),
+ ppStr "->"]
+ else
+ ppCat [ppr_con con (pCon pe con),
+ ppInterleave ppSP (map (pMinBndr pe) params),
+ ppStr "->"]
+ )
4 (ppr_expr pe expr)
where
ppr_con con pp_con
- = if isOpLexeme con then ppParens pp_con else pp_con
+ = if isSymLexeme con then ppParens pp_con else pp_con
ppr_alts pe (PrimAlts alts deflt)
= ppAboves [ ppAboves (map ppr_alt alts), ppr_default pe deflt ]