
arnaud would miss: Arrows, ExplicitNamespaces, ForeignFunctionInterface, FunctionalDependencies, GADTs, MonadFailDesugaring, MonoLocalBinds, PartialTypeSignatures, StarIsType, TypeFamilyDependencies
Of these 10 extensions. Let me note that
- ForeignFunctionInterface is part of Haskell 2010
- MonadFailDesugaring is the current default of GHC
- MonoLocalBinds is implied by TypeFamilies, which is otherwise included
So I assume that these are things which we've forgotten, rather than things
that we oppose.
On Fri, Dec 4, 2020 at 9:22 AM Spiwack, Arnaud
On Thu, Dec 3, 2020 at 6:31 PM Richard Eisenberg
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-gh... .
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.