
#15481: TH fails to recover from reifyFixity with -fexternal-interpreter -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Template Haskell | Version: 8.4.3 Resolution: | Keywords: RemoteGHCi Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): Interestingly, if you invoke `fail` anywhere in the second argument to `recover`: {{{#!hs main :: IO () main = putStrLn $(recover (stringE "reifyFixity failed") (do foo <- newName "foo" _ <- reifyFixity foo fail "wat" stringE "reifyFixity successful")) }}} Then `-fexternal-interpreter` will successfully recover again. Also, there appears to be something specific to `reifyFixity` that triggers this bug. If I replace `reifyFixity` with `reify` or `reifyConStrictness`, then `-fexternal-interpreter` is able to successfully recover from those. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15481#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler