[GHC] #5959: Top level splice in Template Haskell has over-ambitious lexical scope?

GHC ghc-devs at haskell.org
Wed Sep 16 10:19:26 UTC 2015


#5959: Top level splice in Template Haskell has over-ambitious lexical scope?
-------------------------------------+-------------------------------------
        Reporter:  mightybyte        |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  low               |               Milestone:  8.0.1
       Component:  Template Haskell  |                 Version:  7.5
      Resolution:                    |                Keywords:
Operating System:  Linux             |            Architecture:  x86_64
 Type of failure:  Incorrect         |  (amd64)
  warning at compile-time            |               Test Case:  th/T5971
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------
Changes (by thomie):

 * component:  Compiler => Template Haskell


Comment:

 To reproduce: download Lens.hs from comment:3, then run `ghc Main.hs`,
 with `Main.hs` containing:
 {{{
 {-# LANGUAGE ExistentialQuantification, TemplateHaskell #-}
 import Lens

 data App = forall b . App { _auth :: b }

 makeLens ''App

 main = return ()
 }}}

 The error message should be improved, see comment:7. With
 ghc-7.11.20150909 I get:
 {{{
     The exact Name ‘b_a65q’ is not in scope
       Probable cause: you used a unique Template Haskell name (NameU),
       perhaps via newName, but did not bind it
       If that's it, then -ddump-splices might be useful
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/5959#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list