[GHC] #10854: Remove recursive uses of `pprParendHsExpr` from `HsExpr.ppr_expr`
GHC
ghc-devs at haskell.org
Tue Sep 8 15:43:57 UTC 2015
#10854: Remove recursive uses of `pprParendHsExpr` from `HsExpr.ppr_expr`
-------------------------------------+-------------------------------------
Reporter: goldfire | Owner:
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.2
Keywords: newcomer | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Revisions: |
-------------------------------------+-------------------------------------
An `HsExpr` should look exactly as a user wrote some Haskell code. Its
pretty printer should therefore be quite dumb. Just print out the code!
But a few places in GHC create `HsExpr`s and aren't scrupulous with regard
to adding `HsPar` nodes where source syntax would need them. Thus, well-
meaning souls have added `pprParendExpr` calls to the `HsExpr` pretty-
printer to try to cover these cases.
Simon and I [https://phabricator.haskell.org/D1219#34199 think] that we
should remove all recursive uses of `pprParendExpr` from the `HsExpr`
pretty-printer and instead add the `HsPar`s where necessary.
It was recently reported that the following test cases break when simply
removing `pprParendExpr`:
{{{
Unexpected failures:
deriving/should_fail T4846 [stderr mismatch] (normal)
generics GenDerivOutput [stderr mismatch] (normal)
generics GenDerivOutput1_0 [stderr mismatch]
(normal)
generics GenDerivOutput1_1 [stderr mismatch]
(normal)
ghci/scripts T10248 [bad stderr] (ghci)
indexed-types/should_compile PushedInAsGivens [stderr mismatch]
(normal)
safeHaskell/safeLanguage SafeLang10 [stderr mismatch] (normal)
safeHaskell/safeLanguage SafeLang17 [stderr mismatch] (normal)
typecheck/should_fail T8603 [stderr mismatch] (normal)
typecheck/should_fail tcfail177 [stderr mismatch] (normal)
}}}
See also considerable commentary on Phab:D1114.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10854>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list