On Sun, Mar 31, 2024 at 6:51 AM Volker Wysk <post@volker-wysk.de> wrote:
Why aren't all the base package versions available? I thought this was one
of the purposes of the Cabal system...

And wouldn't it be better to remove the upper bound entirely?

`base` is special, since it's tightly linked to the compiler (the compiler hardcodes the addresses of key data types and values, such as `Bool` and specifically `True` so it can compile guards). As such, it is impossible to pick a different version of `base` for use with a given compiler version.

Removing the upper bound has the opposite problem: if `base` changes enough (say, a wholesale change from `String` to `Text`, not that that seems likely to happen in the near term) you will be claiming that your code is compatible with it.

--
brandon s allbery kf8nh