
#10853: Refine addTopDecls -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.0.1 Component: Template Haskell | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by osa1): Sorry if this is completely unrelated, but I realized this weird behavior while implementing #10891. Let's say I have this: {{{#!haskell {-# LANGUAGE TemplateHaskell #-} module Main where import Language.Haskell.TH import System.IO data D = A Int | B Bool test = $(... reify ''D ...) main :: IO () main = return () }}} This fails with: {{{ Main.hs:11:5: āDā is not in the type environment at a reify }}} But if I add this line between the splice and `D`: {{{ $(return []) }}} Suddenly it works. I couldn't find anything about regions in the wiki, but how do we split this program into regions and how do we explain this seemingly weird behavior? It seems like we can improve the way we evaluate TH splices. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10853#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler