arnaud
would miss:
Arrows, ExplicitNamespaces, ForeignFunctionInterface,
FunctionalDependencies, GADTs, MonadFailDesugaring, MonoLocalBinds,
PartialTypeSignatures, StarIsType, TypeFamilyDependencies
On Thu, Dec 3, 2020 at 6:31 PM Richard Eisenberg <rae@richarde.dev> wrote:The problem I described would arise when someone who does not know about GADTs and type inference accidentally writes a GADT. But this cannot happen easily today, precisely because of the need to write the extension.Useful, popular, and stable all help argue for an extension (and I agree here!), but I'm more concerned about error messages and the beginner experience, captured in our Criterion 2 of https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0372-ghc-extensions.rst#criteria.This is not a very believable objection in my opinion. GADTs are guarded by a different syntax which isn't used by someone who doesn't know about GADTs. So writing a GADT by accident is exceedingly unlikely. Besides, Ocaml has GADTs by default (with a similar syntax split as Haskell's). I don't believe I've ever heard anybody complain about GADTs since they've landed, certainly of anybody writing one by mistake.