#10945: Typed Template Haskell splices broken in HEAD (7.11) -------------------------------------+------------------------------------- Reporter: jstolarek | Owner: jstolarek Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Template Haskell | Version: 7.11 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: th/T10945 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1344 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Jan Stolarek <jan.stolarek@…>): In [changeset:"1750ebc2e40bab85246717326d3d5c60f132e652/ghc" 1750ebc2/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="1750ebc2e40bab85246717326d3d5c60f132e652" Reject top-level typed TH splices. Fixes #10945 When TemplateHaskell language extension is enabled it is valid to have top-level expressions. Each such expression is treated as a contents of a splice. The problem arises with typed splices. They are not valid at the top level and therefore we should interpret them not as a splice but as a top-level expression (aka. implicit splice). So saying: $$foo is equivalent of: $( $$foo ) This patch makes sure that this is indeed the case. Until now we incorrectly treated typed splices as explicit splices. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10945#comment:10> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler