[GHC] #8025: "During interactive linking, GHCi couldn't find the following symbol" typechecker error with TemplateHaskell involved

GHC ghc-devs at haskell.org
Tue Jun 2 19:51:28 UTC 2015


#8025: "During interactive linking, GHCi couldn't find the following symbol"
typechecker error with TemplateHaskell involved
-------------------------------------+-------------------------------------
        Reporter:  mojojojo          |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Compiler (Type    |                 Version:  7.6.3
  checker)                           |                Keywords:
      Resolution:                    |            Architecture:  x86
Operating System:  Unknown/Multiple  |               Test Case:
 Type of failure:  Incorrect         |                Blocking:
  warning at compile-time            |  Differential Revisions:
      Blocked By:                    |
 Related Tickets:                    |
-------------------------------------+-------------------------------------
Changes (by rwbarton):

 * status:  infoneeded => new


Comment:

 (How) is this supposed to work at all? I mean, if you want to be able to
 run a TH splice, you need to at some point generate code for the values
 used in the splice, right? Is the TH runner supposed to recompile the
 necessary module(s) with the bytecode generator?

 A minimal reproducer is simply
 {{{
 -- A.hs
 {-# LANGUAGE TemplateHaskell #-}
 module A where
 a = [|3|]

 -- B.hs
 {-# LANGUAGE TemplateHaskell #-}
 module B where
 import A
 x = $(a)

 -- command: ghc -fno-code B
 }}}

 It might be possible to diagnose the situation and produce a better error
 message, but making this actually work seems solidly in feature request
 territory to me.

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


More information about the ghc-tickets mailing list