-- type of input record)
(HsRecordBinds id)
- | ExprWithTySig -- signature binding
+ | ExprWithTySig -- e :: type
(LHsExpr id)
(LHsType id)
+
+ | ExprWithTySigOut -- TRANSLATION
+ (LHsExpr id)
+ (LHsType Name) -- Retain the signature for round-tripping purposes
+
| ArithSeqIn -- arithmetic sequence
(ArithSeqInfo id)
| ArithSeqOut
ppr_expr (ExprWithTySig expr sig)
= hang (nest 2 (ppr_lexpr expr) <+> dcolon)
4 (ppr sig)
+ppr_expr (ExprWithTySigOut expr sig)
+ = hang (nest 2 (ppr_lexpr expr) <+> dcolon)
+ 4 (ppr sig)
ppr_expr (ArithSeqIn info)
= brackets (ppr info)
ppr_expr (HsSpliceE s) = pprSplice s
ppr_expr (HsBracket b) = pprHsBracket b
-ppr_expr (HsBracketOut e ps) = ppr e $$ ptext SLIT("where") <+> ppr ps
+ppr_expr (HsBracketOut e []) = ppr e
+ppr_expr (HsBracketOut e ps) = ppr e $$ ptext SLIT("pending") <+> ppr ps
ppr_expr (HsProc pat (L _ (HsCmdTop cmd _ _ _)))
= hsep [ptext SLIT("proc"), ppr pat, ptext SLIT("->"), ppr cmd]
ExplicitPArr _ _ -> pp_as_was
ExplicitTuple _ _ -> pp_as_was
HsPar _ -> pp_as_was
+ HsBracket _ -> pp_as_was
+ HsBracketOut _ [] -> pp_as_was
_ -> parens pp_as_was
\end{code}