I'm happy with this updated proposal, though I've made a small suggestion about making the ;s optional.

Regardless of whether this suggestion is taken, I support acceptance.

Thanks,
Richard

On Jul 4, 2021, at 5:12 AM, Vitaly Bragilevsky <bravit111@gmail.com> wrote:

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

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@gmail.com>:
чт, 11 мар. 2021 г. в 16:31, Vladislav Zavialov (int-index) <vlad.z.4096@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@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@haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

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