I am strongly against deprecating ExistentialQuantification and prefer it over the GADT notation for non-GADT datatypes.  I find GADT notation nice when the types of the result change, but I don't think it is great for normal types (which are the large majority of types I use) for these reasons:
   - It duplicates the declaration of the types many types, but often it is not obvious that you have the same type
   - The disconnect between the type variables in the data declaration and the constructors is confusing, which is why I prefer the GADT from where you declare the kind of the GADT, but that's quite ugly and verbose.



On Fri, Dec 4, 2020 at 7:25 AM Joachim Breitner <mail@joachim-breitner.de> wrote:
Hi,

Am Freitag, den 04.12.2020, 15:47 +0100 schrieb Spiwack, Arnaud:
> I'm just saying: let's _not_ add ExistentialQuantification in GHC2021
> (because it ought, in my opinion, to be considered deprecated).

I’m convinced!

>  Let's not go into talking about chopping the feature into smaller
> pieces.

Not for GHC2021! But if GADTs don’t make it this round, we can ask the
question if ExistentialVariables is a feature worth having on its own,
of if anyone who wants to use that should just go for GADTs.


Cheers,
Joachim

--
Joachim Breitner
  mail@joachim-breitner.de
  http://www.joachim-breitner.de/


_______________________________________________
ghc-steering-committee mailing list
ghc-steering-committee@haskell.org
https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee