[ghc-steering-committee] Recommendation for #378: support the design for dependent types

Joachim Breitner mail at joachim-breitner.de
Thu May 20 06:58:11 UTC 2021


Am Mittwoch, den 19.05.2021, 22:21 -0400 schrieb Eric Seidel:
> > The Opt-In Principle (OIP): Users who do not opt into dependent
> > types will not be affected by them. By "opt into", we mean that
> > users would have to enable -XDependentTypes or import a module that
> > exposes functions with dependently-typed interfaces. These modules
> > would not be standard modules that are routinely imported today,
> > such as Data.List or Prelude.
> This is a good principle, but I think you may be trying to have your
> cake and eat it too. 

I am actually not opposed to compromising on the OIP, and would not
mind seeing new features of Haskell be used in basic libraries where
they make sense.

Base has `HasCallStack`. It has Rank2Polymorphism. It has type
equalities. It has generics, and thus associated types.

I am not opposed to keeping simple things simple, and just along the
desire to break no more code than necessary as we change basic
libraries will help. But overall I’d rather compromise on OIP than on,
say, using the right tool for the right problem.


Joachim Breitner
  mail at joachim-breitner.de

More information about the ghc-steering-committee mailing list