[GHC] #9022: TH pretty printer and GHC parser semicolon placement mismatch
GHC
ghc-devs at haskell.org
Wed Nov 12 23:50:30 UTC 2014
#9022: TH pretty printer and GHC parser semicolon placement mismatch
-------------------------------------+-------------------------------------
Reporter: roldugin | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 7.10.1
Component: Template | Version: 7.8.1
Haskell | Keywords:
Resolution: | Architecture: Unknown/Multiple
Operating System: | Difficulty: Unknown
Unknown/Multiple | Blocked By:
Type of failure: GHC | Related Tickets:
rejects valid program |
Test Case: |
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
Comment (by roldugin):
You're right!
`let` expressions should be fine:
{{{
> pprint <$> runQ [| let { x = 3; y = 4 } in x + y |]
"let {x_0 = 3; y_1 = 4}\n in x_0 GHC.Num.+ y_1"
}}}
But there is indeed a problem with `let` statements:
{{{
> pprint <$> runQ [| do let { x = 3; y = 4 } ; return (x + y) |]
"do {let {x_0 = 3}; {y_1 = 4}; GHC.Base.return (x_0 GHC.Num.+ y_1)}"
}}}
I think pretty printing `LetS` will need to use custom `pprDecs` like
`LetE` does around line 149.
Unfortunately, I can't do it right now but I will when I get a minute.
George
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9022#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list