Output of -ddump-splices is parenthesized incorrectly
Sometimes, Template Haskell splices lack necessary parentheses. Minimal example:
$ ghci -XTemplateHaskell -ddump-splices
GHCi, version 7.10.1: http://www.haskell.org/ghc/ :? for help
λ> :t $([| case Just 'a' of Just a -> Just ((\x -> x) a) |])
<interactive>:1:3-53: Splicing expression
[| case Just 'a' of {
Just a_avZ -> Just ((\ x_aw0 -> x_aw0) a_avZ) } |]
======>
case Just 'a' of {
Just a_a3wI -> Just (\ x_a3wJ -> x_a3wJ a_a3wI) }
$([| case Just 'a' of Just a -> Just ((\x -> x) a) |])
:: Maybe Char
The suspect part is case Just 'a' of { Just a_a3wI -> Just (\ x_a3wJ -> x_a3wJ a_a3wI) } , which should be case Just 'a' of { Just a_a3wI -> Just ((\ x_a3wJ -> x_a3wJ) a_a3wI) } .
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.10.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Template Haskell |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |