[GHC] #9813: Error when reifying type constructor

GHC ghc-devs at haskell.org
Wed Nov 19 22:48:36 UTC 2014


#9813: Error when reifying type constructor
-------------------------------------+-------------------------------------
              Reporter:  owst        |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:
             Component:  Compiler    |          Version:  7.8.3
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:              |       Blocked By:
  None/Unknown                       |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by goldfire):

 Template Haskell made no guarantees about the ordering of splice execution
 in 7.6.3, or of what definitions were available to `reify`. 7.8.3, on the
 other hand, says this (user manual, end of section 7.16.1):

 > The type environment seen by reify includes all the top-level
 declaration up to the end of the immediately preceding declaration group,
 but no more.
 >
 > A declaration group is the group of declarations created by a top-level
 declaration splice, plus those following it, down to but not including the
 next top-level declaration splice. The first declaration group in a module
 includes all top-level definitions down to but not including the first
 top-level declaration splice.

 So, I'd say that you were lucky that it worked in 7.6.3, but this is not
 erroneous behavior in 7.8.3.

 You can also fix the problem, by introducing a top-level splice, say

 {{{
 $( return [] )
 }}}

 After the declaration of `Huh`.

 Please close the ticket if you agree with my analysis. Thanks!

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


More information about the ghc-tickets mailing list