[GHC] #9813: Error when reifying type constructor
GHC
ghc-devs at haskell.org
Mon Feb 15 14:16:56 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 rwbarton):
In comment:19 I neglected the case of comment:20, in which a function
without a splice refers to a function with a splice. I still think the
main point, that there are only two kinds of declaration per declaration
group is correct. In each declaration group we have
* the declarations which do not use a splice, either directly or via
reference to another declaration in the same group which uses a splice;
* the declarations which do use a splice, either directly or via
reference....
We process the first group, then process the second group, making the
first group (but none of the second group) available to reify.
This is just supposed to be a restatement of goldfire's comment:15, taking
into account that "any declaration with a splice in it is considered to
depend on all other declarations in the region" means that there are
effectively at most two of goldfire's "chunks" per declaration group. (In
fact, there might be several mutually recursive groups of declarations
that do not (even indirectly) contain splices. But then it doesn't matter
whether we process them as a single group or as several groups, because
the declarations in the group contain no splices anyways.)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9813#comment:24>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list