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

Vitaly Bragilevsky bravit111 at gmail.com
Sun Jul 4 09:12:55 UTC 2021


Dear Committee,

I'm happy to repeat my recommendation to accept Alejandro's proposal which
is now back from revision:
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

All the issues that arose in the previous discussion are now resolved. Does
anyone have something to add?

Vitaly



сб, 13 мар. 2021 г. в 12:38, Vitaly Bragilevsky <bravit111 at gmail.com>:

> чт, 11 мар. 2021 г. в 16:31, Vladislav Zavialov (int-index) <
> vlad.z.4096 at gmail.com>:
>
>> I like the proposal and I would be happy to vote for its acceptance.
>> However, it requires a little bit of polishing up with regards to its use
>> of modifiers. In particular, it seems to treat modifiers as built-in units,
>> whereas the core idea behind modifiers is that they are based on actual
>> promoted types (with the exception of %1).
>>
>> Hence it seems appropriate to send it back for revision until this point
>> is addressed.
>>
>
> Yes, I agree. There is also another issue. I think we need either a
> deprecation story for UndecidableInstances, or a statement that it should
> survive with some motivation behind that.
>
> So, I'm sending this proposal back to Alejandro for review and set the
> "needs revision" label on GitHub.
>
> Vitaly
>
>>
>> - Vlad
>>
>> > On 20 Feb 2021, at 14:34, Vitaly Bragilevsky <bravit111 at gmail.com>
>> wrote:
>> >
>> > 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
>> >
>> >
>> >
>> > _______________________________________________
>> > ghc-steering-committee mailing list
>> > ghc-steering-committee at haskell.org
>> >
>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20210704/0305fd38/attachment.html>


More information about the ghc-steering-committee mailing list