[GHC] #10047: inconsistency in name binding between splice and quasiquotation
GHC
ghc-devs at haskell.org
Thu Jun 4 11:55:43 UTC 2015
#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
More information about the ghc-tickets
mailing list