External Publication
Visit Post

Making GHC upgrades easy

Haskell Community [Unofficial] July 2, 2026
Source

The Cabal reference already gives an example:

if impl(ghc >= 7.5)
  other-extensions: PolyKinds

Now suppose GHC 10.2 comes up with a new and improved PolyKinds which alas has a corner case that breaks our package. Then we might want to say

if impl(ghc >= 7.5) && impl(ghc < 10.2)
  other-extensions: PolyKinds

Unfortunately while this is informative it also does next to nothing, we still need to come up with a workaround for PolyKinds in every affected module and maybe guard it with CPP. But my only point was that it’s semantically correct to equate the “extension version” with extension name + compiler version range, and the latter would be preferable because it doesn’t introduce any new concept.

Discussion in the ATmosphere

Loading comments...