Better documentation of the difference between the versions of Cabal, cabal-install, and the CABAL spec.
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
Lifted from https://github.com/haskell/cabal/issues/7771#issuecomment-950404705:
@phadej wrote:
`cabal-version` is not a version of `cabal-install` or `Cabal`. It's a version of CABAL spec.
The latest `cabal-version` (spec version) is kept in sync with version of `Cabal` because we can keep it. They could diverge, yet people complain that GHC-8.0 comes with `base-4.9.0.0` and not `base-8.0.0.0`.
Note, there is no cabal spec version `3.2`. The format didn't change then, that a recent moment where cabal spec versions and `Cabal` versions would diverge, but we decided not to. https://cabal.readthedocs.io/en/3.6/file-format-changelog.html
In hindsight, cabal format, `Cabal` library and `cabal-install` would all had different names (compare: JSON, `aeson` and `jq`).
See also https://gist.github.com/merijn/8152d561fb8b011f9313c48d876ceb07, IIRC there was discussion (maybe even an issue) to add that to the Cabal's manual. That would help a lot!
Contributor guide
Assessment
This issue has not been assessed yet.