[ghc-steering-committee] #285: -XNoImplicitForAll, recommendation: accept

Spiwack, Arnaud arnaud.spiwack at tweag.io
Tue Jan 21 07:48:39 UTC 2020


I'm still not convinced about the fact that there are two extensions for
this. Which seems more motivated by technical details of the
implementation, rather than by semantics. But it is not a hill that I'm
willing to die on… so if I'm alone in this, I'm not going to argue further.

/Arnaud

On Mon, Jan 20, 2020 at 4:46 PM Simon Peyton Jones via
ghc-steering-committee <ghc-steering-committee at haskell.org> wrote:

> I support it.
>
>
> Simon
>
>
>
> *From:* ghc-steering-committee <ghc-steering-committee-bounces at haskell.org>
> *On Behalf Of *Simon Marlow
> *Sent:* 20 January 2020 08:37
> *To:* Sandy Maguire <sandy at sandymaguire.me>
> *Cc:* ghc-steering-committee at haskell.org; Joachim Breitner <
> mail at joachim-breitner.de>
> *Subject:* Re: [ghc-steering-committee] #285: -XNoImplicitForAll,
> recommendation: accept
>
>
>
> Dear committee:
>
>
>
> Proposal #285 is currently under consideration:
> https://github.com/ghc-proposals/ghc-proposals/pull/285
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F285&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760511549&sdata=viFsM%2FAfs61mWTEzPUkQ48PLfj%2FBEbBoSXOUn1WPkwM%3D&reserved=0>
>
>
>
> I previously recommended acceptance, and there was some followup
> discussion on the GitHub thread where Simon PJ and Arnaud requested
> changes. The changes, namely clarifications and more examples, have all
> been implemented and those that requested changes have signed off.
>
>
>
> I think we can accept the proposal now. Any final concerns?
>
>
>
> Cheers
>
> Simon
>
>
>
>
>
> On Wed, 13 Nov 2019 at 01:18, Sandy Maguire <sandy at sandymaguire.me> wrote:
>
> I'm largely in agreement with Arnaud here.
>
>
>
> On Wed, Nov 13, 2019 at 1:59 AM Spiwack, Arnaud <arnaud.spiwack at tweag.io>
> wrote:
>
> I've left comments on the Github thread.
>
>
>
> I'm rather sympathetic to this idea. I personally think that the implicit
> binding rules that we have in place are a bit messy, so simply turning them
> off may be of help.
>
>
>
> My Github comments raise two points:
>
>
>
> - The proposal is a tad challenging to read, and I'd like some
> improvements before acceptance be considered
>
> - I'm questioning whether we really want two extensions for these two very
> related behaviours
>
>
>
> On Mon, Nov 11, 2019 at 10:44 AM Simon Marlow <marlowsd at gmail.com> wrote:
>
> Proposal #285:
>
>
>
> https://github.com/ghc-proposals/ghc-proposals/pull/285
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F285&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760511549&sdata=viFsM%2FAfs61mWTEzPUkQ48PLfj%2FBEbBoSXOUn1WPkwM%3D&reserved=0>
>
>
>
> suggests two new LANGUAGE pragmas -XNoImplicitForall and
> -XNoPatternSignatureBinds.
>
>
>
> They have the effect of making a subset of existing programs illegal, and
> in that sense I don't think these are problematic. The intention is that
> these would be used with ExplicitForalls to enforce that all identifiers
> have explicit binding sites. I'm generally supportive of that.
>
>
>
> However I think we should be wary of the potential future direction,
> mentioned in the proposal:
>
>
>
> > As described in the motivation, this opens the door to other means to
> bind the previously implicitly bound variables.
>
>
>
> i.e. an unbound name in a type could refer to a type variable bound in an
> enclosing scope. This would be a language *change*, not merely an addition
> or subtraction, and hence potentially fork-like. So we would want to
> consider very carefully whether that's the direction we want to take the
> language.
>
>
>
> But since that isn't part of the current proposal, and the current
> proposal is merely an optional subtraction, I don't think it's
> controversial.
>
>
>
> Cheers
>
> Simon
>
>
>
> On Thu, 7 Nov 2019 at 09:29, Joachim Breitner <mail at joachim-breitner.de>
> wrote:
>
> Dear Committee,
>
> this is your secretary speaking:
>
> -XNoImplicitForAll
> has been proposed by John Ericson
> https://github.com/ghc-proposals/ghc-proposals/pull/285
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F285&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760521544&sdata=ejc%2FJIQfLnuiBFjxOIWJlYeO8BeGZXowfE8x7T6zEaY%3D&reserved=0>
>
> https://github.com/Ericson2314/ghc-proposals/blob/no-implicit-forall/proposals/0000-no-implicit-forall.rst
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FEricson2314%2Fghc-proposals%2Fblob%2Fno-implicit-forall%2Fproposals%2F0000-no-implicit-forall.rst&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760521544&sdata=iWi%2Bzg3qDTF6OMdAQS2Hri%2Br9pMjpKLdN4Ua2NpmPwE%3D&reserved=0>
>
> I propose Simon Marlow as the shepherd.
>
> Please reach consensus as described in
> https://github.com/ghc-proposals/ghc-proposals#committee-process
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%23committee-process&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760531535&sdata=Gfhz1Ed37fTO9yPAa06MGi0xDwDm0eiHMXuvzKSt%2BhM%3D&reserved=0>
> I suggest you make a recommendation, in a new e-mail thread with the
> proposal number in the subject, about the decision, maybe point out
> debatable points, and assume that anyone who stays quiet agrees with
> you.
>
> Thanks,
> Joachim
> --
> Joachim Breitner
>   mail at joachim-breitner.de
>   http://www.joachim-breitner.de/
> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.joachim-breitner.de%2F&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760531535&sdata=9D8Dc0ssSdOJQ%2BZeZDEGdH%2FblHCxGupgA%2FJSdYhufMQ%3D&reserved=0>
>
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760531535&sdata=2a6%2FP1ED6XTXeQo0wZZAVTZtV29uQ9ODX0dBLh%2BvrFo%3D&reserved=0>
>
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760541531&sdata=5%2Foe2KhonSKfa5jPmjVm8%2FCkWtSU5Qom534GWn%2Fb7LA%3D&reserved=0>
>
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760541531&sdata=5%2Foe2KhonSKfa5jPmjVm8%2FCkWtSU5Qom534GWn%2Fb7LA%3D&reserved=0>
>
>
>
> --
>
> I'm currently travelling the world, sleeping on people's couches and doing
> full-time collaboration on Haskell projects. If this seems interesting to
> you, please consider signing up as a host!
> https://isovector.github.io/erdos/
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fisovector.github.io%2Ferdos%2F&data=02%7C01%7Csimonpj%40microsoft.com%7C7b34ece5aaca4bf1061808d79d840b1c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637151062760551523&sdata=T5V%2FuhomK2C6trPiDNHxA4hb71jX%2BPT9NG%2FCxpEvqjY%3D&reserved=0>
>
> _______________________________________________
> 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/20200121/bc9027f0/attachment-0001.html>


More information about the ghc-steering-committee mailing list