
I don't have well-informed opinion, but I'd like to be sure about | Given that the plugins appears to have buy-in from a few notable plugin | authors, I recommend that we accept this proposal. Let's enumerate them and check they are supportive. I'd check with Luite too. And Edward may have a view. I'm not against in principle. Simon | -----Original Message----- | From: ghc-steering-committee [mailto:ghc-steering-committee- | bounces@haskell.org] On Behalf Of Ben Gamari | Sent: 20 February 2018 03:04 | To: ghc-steering-committee@haskell.org | Subject: [ghc-steering-committee] Plugin recompilation avoidance | interface (#108) | | Hello everyone, | | I have been assigned as the shepard for proposal #108. This proposes a | change in GHC's plugin interface allowing plugins greater control over | recompilation, significantly improving compilation times for projects | relying on compiler plugins. | | | Summary: | | The proposal suggests that the existing fields of the `ghc` package's | Plugin.Plugin type be wrapped with a type capturing a function computing | the plugin's recompilation desired behavior, | | data PluginRecompile = ForceRecompile | | NoForceRecompile | | MaybeRecompile Fingerprint | | GHC can then use this recompilation information to decide whether | evaluating the plugin (and consequently invalidating any existing | compilation artifacts) is necessary. | | | Opinion & recommendation: | | The proposal addresses a long-standing limitation (#7414) of the GHC | plugin interface which has become increasingly visible to users in recent | years. While the particular approach proposed breaks existing plugin | users, it is expressive enough to allow GHC to perform more aggressive | recompilation avoidance in the future [1]. Moreover, the smart | constructors proposed should make for a reasonably smooth migration path. | | Given that the plugins appears to have buy-in from a few notable plugin | authors, I recommend that we accept this proposal. | Given that the plugins appears to have buy-in from a few notable plugin | authors, I recommend that we accept this proposal. | | Cheers, | | - Ben