Changes between Version 15 and Version 16 of Commentary/Compiler/RecompilationAvoidance


Ignore:
Timestamp:
Jun 20, 2008 1:47:01 PM (6 years ago)
Author:
simonmar
Comment:

add notes about external packages

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/RecompilationAvoidance

    v15 v16  
    537537The solution is to sort the elements using a stable ordering, such as 
    538538lexicographic ordering. 
     539 
     540 
     541=== Packages === 
     542 
     543We need to record usage information about package modules too, so that we 
     544can correctly trigger recompilation if we depend on a package that has changed.  But 
     545packages change rarely, so it would be wasteful to record detailed usage information for 
     546every entity that we use from an external package (imagine recording the fingerprints for 
     547`Bool`, `Int`, etc.).  Instead, we simply record the ABI fingerprint for every package 
     548module that was imported by the current module.  That way, if anything about the ABI of 
     549that package module has changed, then we can trigger a recompilation. 
     550 
     551(Correctly triggering recompilation when packages change was one of the things we fixed when implementing fingerprints, see #1372).