
#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): Only top-level declaration splices break up declaration groups. Your code has an expression splice, which is in the first declaration group and thus can't "see" it. I agree that your code ''is'' reasonable, but I also think that 7.8's behavior of breaking things into declaration groups is more predictable (once you know the rule). In general, otherwise, it would be quite hard for a human to figure out exactly which things are reifiable from a given splice -- it would all depend on GHC's internal topological sorting process. If you can propose an alternative, straightforward rule defining what should be available to `reify`, I'd be interested. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9813#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler