... | ... | @@ -176,16 +176,11 @@ An [interface file](commentary/compiler/iface-files) contains: |
|
|
- The *ABI hash*, which depends on everything that the module
|
|
|
exposes about its implementation: think of this as a hash of
|
|
|
*export-list hash* and *decls*.
|
|
|
- The *export-list hash*, which depends on the contents of the
|
|
|
export list (a hash of *exports*), the *orphan hash* (see [Orphans](commentary/compiler/recompilation-avoidance#orphans))
|
|
|
and the package dependencies (see [Package Version Changes](commentary/compiler/recompilation-avoidance#package-version-changes)).
|
|
|
The export-list hash only depends on the names of the exports for the modules. The
|
|
|
types of these exports are ignored in calculating the hash. Only a change of name
|
|
|
or removal or addition of an export will change the hash. Not a type change of
|
|
|
definition change.
|
|
|
- The *orphan hash*, which depends on all the orphan
|
|
|
instances/rules in the, and the orphan hashes of all orphan
|
|
|
modules below this module in the dependency tree (see [Orphans](commentary/compiler/recompilation-avoidance#orphans)).
|
|
|
- The *export-list hash*, which depends on
|
|
|
|
|
|
- The export list itself. The export-list hash only depends on the *names* of the exports for the modules. The *types* of these exports are ignored in calculating the hash. Only a change of name or removal or addition of an export will change the hash. Not a type change of definition change.
|
|
|
- the *orphan hash*, which depends on all the orphan instances/rules in the, and the orphan hashes of all orphan modules below this module in the dependency tree (see [Orphans](commentary/compiler/recompilation-avoidance#orphans)).
|
|
|
- the package dependencies (see [Package Version Changes](commentary/compiler/recompilation-avoidance#package-version-changes)).
|
|
|
- *exports*: what the module exports
|
|
|
- *dependencies*: modules and packages that this module depends on
|
|
|
- *usages*: what specific entities the module depends on
|
... | ... | |