[ghc-steering-committee] GHC2021 extensions should be sufficient for early intermediate Haskellers

Joachim Breitner mail at joachim-breitner.de
Wed Dec 16 08:33:48 UTC 2020


Am Dienstag, den 15.12.2020, 21:21 +0000 schrieb Richard Eisenberg:
> * GHC2021 extensions should be sufficient for early-intermediate Haskellers

with sufficient, do you mean

   With GHC2021, early-intermediate Haskellers won’t have to enable any
   other extension.

That is an interesting proposal.

I worry that it is a hard criteria to evaluate, harder than “harmless
and uncontentious”, as everybody has different opinions about what an
intermediate Haskeller is, and to some it includes extensions that
others don’t think of as harmless or uncontentious.

In fact, doesn’t that mean to explicitly compromise on either the
harmless or the uncontentious criteria? (If it weren’t, we wouldn’t
need to propose a new criteria).

Maybe a bit related, but as we discuss refining criteria, I wonder if
we are implicitly applying the following criteria, and if we do, if we
really should:

   GHC2021 should be educative of best practices and good style.

(I worded it intentionally a bit tendentious). We have extensions that
are already perfectly guarded by their own syntax (e.g. UnicodeSyntax,
RecordWildCards), so by construction enabling the extension is harmless
– the only effect of not enabling the extension is to add friction for
those who want to use the extension, thus saying “yes, it’s there, but
we want to nudge you not to use them”.

Is that something we really want to do here?
(I find that sentiment a bit patronizing.)

There might be other arguments for exclusion, such as “readers need a
loud warning to watch out for uses of this feature” (which could maybe
applies to RecordWildCards, but probably not for UnicodeSyntax).

> (I thought of putting this on Kialo, but it didn't seem to fit the setup there. Maybe I've erred in not just blasting ahead.)

It would probably work well as a new top-level thesis, next to the
individual extensions, maybe worded as “Every extension needed by
intermediate Haskellers”


Joachim Breitner
  mail at joachim-breitner.de

More information about the ghc-steering-committee mailing list