
#14709: Extend the plugin mechanism to access program representation -------------------------------------+------------------------------------- Reporter: lazac | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: Component: GHC API | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | https://phabricator.haskell.org/D4342 https://ghc.haskell.org/trac/ghc/wiki/ExtendedPluginsProposal| -------------------------------------+------------------------------------- Comment (by bgamari):
I can imagine tools that modify these representations as well
Sure. The one thing I would really like to see considered is recompilation checking. Currently the existing plugin types are borderline unusable due to the lack of recompilation avoidance (see #7414). While you don't need to solve this issue in your patch (doing so will likely require deeper changes in GHC), we should try to think through which information the plugin will need to provide for the compiler to be able to assess whether recompilation is necessary and design the interface with this need in mind. This will avoid backwards-incompatible interface changes in the future. Writing down a few motivating examples of applications of the new plugin types may be a good place to start. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14709#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler