... | ... | @@ -80,7 +80,7 @@ The current situation: |
|
|
Some notes:
|
|
|
|
|
|
- `XXXX` must be decided *before* we begin compiling, because we have to generate the `Paths_P.hs` file that is compiled along with the package, whereas `ZZZZ` is only available *after* we have compiled the package.
|
|
|
- `ZZZZ` is not uniquely determined by the compilation inputs (see [\#4012](https://gitlab.haskell.org/ghc/ghc/issues/4012)), although in the future we hope it will be
|
|
|
- `ZZZZ` is not uniquely determined by the compilation inputs (see #4012), although in the future we hope it will be
|
|
|
- It is desirable that when two packages have identical `YYYY` values, then they are compatible, even if they were built on separate systems. Note that this is not guaranteed even if `YYYY` is a deterministic function of the compilation inputs, because `ZZZZ` is non-deterministic (previous point). Hence `YYYY` must be dependent on `ZZZZ`.
|
|
|
- It is desirable that `YYYY` be as deterministic as possible, i.e. we would rather not use a GUID, but `YYYY` should be determined by the compilation inputs and `ZZZZ`. We know that `ZZZZ` is currently not deterministic, but in the future it will be, and at that point `YYYY` will become deterministic too, in the meantime `YYYY` should be no less deterministic than `ZZZZ`.
|
|
|
|
... | ... | |