Could GHC remove old extensions?

Ah, the joys of a single [mainstream]-implementation language: would this topic have even been brought up if there was a second and comparable Haskell implementation…

…a very salient qualification. I believe the main issue with making a language extension permanent is the potential conflict with other such extensions - at the risk of being repetitive:

  • if there are N extensions, then there are at least 2N combinations of those extensions;
  • not all of those combinations work in GHC.

Just because you’ve been using your favourite set of extensions for years doesn’t mean they will automatically qualify for permanent inclusion - perhaps the best option now is for some related extensions to somehow be merged together. As for another GHC2021-style compendium e.g. GHC2024…finding another sufficiently-large-and-useful combination of extensions that don’t cause conflicts elsewhere will only increase in difficulty.

…or a new language version in which they can be stabilised - the HF Stability Working Group might be able to provide some guidance here (if they have time to spare).

Unless I’m badly mistaken, I thought that was now the purview of the HF.

…as the current effort to port Rust to GCC clearly shows. In contrast, Prolog has its own ISO standard (parts 1 and 2) and several mature implementations.

Currently there are two relatively well-known non-strict typed languages: Miranda(R) and Haskell; both now being single-implementation languages and having small user bases (Miranda(R) in education, Haskell tending more towards production) - is that a coincidence?

In an alternate reality where non-strict languages are in the majority, not having a language standard may not be such a hindrance. But in this reality, being non-strict is hard work, which must surely make the task of building another implementation for either language even more difficult in the absence of well-specified language standards.

1 Like