
It would be nice if plugins could see a "faithful" representation of the
#11179: Allow plugins to access "dead code" -------------------------------------+------------------------------------- Reporter: lerkok | Owner: Type: feature request | Status: patch Priority: normal | Milestone: Component: Compiler | 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: #10823 | Differential Rev(s): Phab:D3073 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): I'm getting lost here * First: source code I have no idea what that means, but by all means open a new feature request with a proposed design. * Second: should `simpleOptPgm` be a separate pass? The reason it's put in the back of the desugarer is not adequately documented. So it'd be worth a try if there is some benefit (what is the benefit?). You'd also need to ensure that Lint did not check the output of the desugarer, only the output of that first pass. `simpleOptPgm` really discards a LOT of junk sometimes! * Third, returning to the original question of the ticket, how can we keep all the binders alive in the output of `simpleOptPgm`? For that I like the approach you are taking in Phab:D3073; having a keep-alive set is nicer than messing with the guts of the analysis. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11179#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler