[ghc-steering-committee] #390: Fine-grained pragmas, recommendation: accept

Vitaly Bragilevsky bravit111 at gmail.com
Sat Feb 20 11:34:12 UTC 2021


Dear Committee,

Our own Alejandro has been proposed
Fine-grained pragmas for classes, families, and instances
https://github.com/ghc-proposals/ghc-proposals/pull/390
https://github.com/serras/ghc-proposals/blob/instance-pragmas/proposals/0000-fine-grained-undecidable.md

His idea is to bring the flexibility of overlaps/overlapping/overlappable
pragmas to termination checking, type inference, and constraint solving.
Alejandro proposes to introduce the following %-modifiers (as in already
accepted #370,
https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-modifiers.rst
):
%NoTerminationCheck
%LiberalCoverage
%LiberalInjectivity
%Overlapping
%Overlappable
%Overlaps
to liberate conditions for classes and instances, type families,
forall-types, etc. The first three modifiers can be used instead of the
scary-sounding UndecidableInstances extension. The last three modifiers are
supposed to be used instead of the  overlap*-pragmas for instances we
already have. Note that this proposal doesn't suggest deprecating those
extensions and pragmas.

I think that this proposal goes in the right direction and recommend
accepting it.

As far as I understand, all the committee members, including those with
terms about to expire, have the right to either support this proposal or to
raise a voice against it either here or at
https://github.com/ghc-proposals/ghc-proposals/pull/390.

Regards,
Vitaly
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20210220/b87a7e2f/attachment.html>


More information about the ghc-steering-committee mailing list