[GHC] #7414: plugins always trigger recompilation
GHC
ghc-devs at haskell.org
Thu Jan 25 15:43:56 UTC 2018
#7414: plugins always trigger recompilation
-------------------------------------+-------------------------------------
Reporter: jwlato | Owner: (none)
Type: feature request | Status: new
Priority: high | Milestone: 8.6.1
Component: Compiler | Version: 7.6.1
Resolution: | Keywords: plugin,
| RecompilationCheck
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by mpickering):
* priority: normal => high
* milestone: => 8.6.1
Comment:
Is there anything blocking this ticket or does someone just need to
implement it?
It makes using plugins quite a bit more hassle than necessary. See also
#12567
I really think this should be a priority for the next release (8.6)
Ben said in an email thread last year that these should be the steps. But,
if the implementation is slightly broken, implementing anything will be
better than the current situation I posit! We can get back to the current
situation by using `-fforce-recomp` after all.
{{{
I think the real question is what sort of interface do plugin authors
need?
I suspect there are a few distinct tasks here,
* compute and record module implementation hashes in interface files
* to include plugin implementation hashes in the recompilation check
* to provide an interface allowing a plugin to compute a hash of its
arguments which can be included into the recompilation check. One way
of realising this would be to add a field like the following to Plugin,
pluginHash :: [CommandLineOption] -> Maybe Fingerprint
-- Nothing would denote "always rebuild"
Would this help in your case?
This would allow us to fix the TH problem in #7277 and fix the plugins
problem in #7414 and #12567 in a nearly optimal way (assuming the plugin
author is able to precisely define a hash).
None of this is terribly difficult and given Nick's recent work on his
row types plugin, it seems like it's getting more urgent.
Cheers,
- Ben
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7414#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list