Recompilation avoidance on ABI hash changes

Domínguez, Facundo facundo.dominguez at tweag.io
Thu Aug 11 11:11:23 UTC 2022


Dear devs,

rules_haskell [1] recently earned the ability to skip recompiling modules
when the ABI hashes of dependencies don't change in interface files.

We have noticed since then that sometimes ghc --make does avoid rebuilding
even when ABI hashes change. However, so far I've been unable to reproduce
this in the small. The wiki page on recompilation avoidance does remark
that a changing ABI hash is a necessary but not sufficient condition for
recompilation [2].

Does anyone have a small example showing how ghc avoids rebuilding even
when the ABI hash of a dependency changes?

Thanks in advance!
Facundo

[1]
https://github.com/tweag/rules_haskell/issues/1760#issuecomment-1179102232
[2]
https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler/recompilation-avoidance#interface-file-invariants
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20220811/ff4fff74/attachment.html>


More information about the ghc-devs mailing list