haskell / haskell/cabal

Better documentation of the difference between the versions of Cabal, cabal-install, and the CABAL spec.

Open
#7,773 1 comment 0 reactions 0 assignees View on GitHub
attention: pr-welcome documentation meta: easy re: cabal-version re: version
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.