[GHC] #9813: Error when reifying type constructor

GHC ghc-devs at haskell.org
Wed Feb 17 09:46:12 UTC 2016


#9813: Error when reifying type constructor
-------------------------------------+-------------------------------------
        Reporter:  owst              |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Template Haskell  |              Version:  7.8.3
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D1899
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 >  But in order to do so, we would have to run the declaration group
 containing the definition through the entire compiler pipeline, right up
 to linking, so that we can load it to run the splice in the latter
 declaration group to begin type checking it. GHC just isn't organized to
 work that way currently.

 Yes, this is the main reason for the fairly draconian staging restriction
 at present.  But that's only when you want to RUN a splice.  If you merely
 want to reify a type declared "earlier" (as in the Description of this
 ticket), that's much less stressful.  But it exists already
 {{{
 data F = MkF
 $(makeLenses 'F)
 }}}

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


More information about the ghc-tickets mailing list