
#10047: inconsistency in name binding between splice and quasiquotation -------------------------------------+------------------------------------- Reporter: rwbarton | Owner: Type: bug | Status: closed Priority: normal | Milestone: 7.12.1 Component: Template Haskell | Version: 7.8.4 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: th/T10047 Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by spinda): This has broken the name resolution behavior for quasiquoters. Previously, this was valid (assuming "wow" is a quasiquoter producing a declaration): {{{ {-# LANGUAGE QuasiQuotes #-} thing = okay [wow|stuff|] okay = 3 }}} but now it produces an error: {{{ /tmp/runghcXXXX1804289383846930886.hs:3:9: error: Not in scope: ‘okay’ }}} because after this change, quasiquoters share the declaration order restrictions of splices. I have code that depends on the previous behavior, and I'm sure there's a lot more code out there that does as well, as this was one of the main advantages of using quasiquoters over regular splices. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10047#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler