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

Simon Marlow marlowsd at gmail.com
Mon Jan 20 08:37:29 UTC 2020


Dear committee:

Proposal #285 is currently under consideration:
https://github.com/ghc-proposals/ghc-proposals/pull/285

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
>>>
>>> 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://github.com/Ericson2314/ghc-proposals/blob/no-implicit-forall/proposals/0000-no-implicit-forall.rst
>>>>
>>>> I propose Simon Marlow as the shepherd.
>>>>
>>>> Please reach consensus as described in
>>>> https://github.com/ghc-proposals/ghc-proposals#committee-process
>>>> 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/
>>>>
>>>> _______________________________________________
>>>> ghc-steering-committee mailing list
>>>> ghc-steering-committee at haskell.org
>>>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>>>>
>>> _______________________________________________
>>> ghc-steering-committee mailing list
>>> ghc-steering-committee at haskell.org
>>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>>>
>> _______________________________________________
>> ghc-steering-committee mailing list
>> ghc-steering-committee at haskell.org
>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>>
>
>
> --
> 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/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20200120/5d82db0f/attachment.html>


More information about the ghc-steering-committee mailing list