[ghc-steering-committee] Plugin recompilation avoidance interface (#108)

Simon Peyton Jones simonpj at microsoft.com
Wed Feb 21 16:18:38 UTC 2018


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 at haskell.org] On Behalf Of Ben Gamari
| Sent: 20 February 2018 03:04
| To: ghc-steering-committee at 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


More information about the ghc-steering-committee mailing list