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

Sandy Maguire sandy at sandymaguire.me
Wed Nov 13 01:18:25 UTC 2019


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/20191113/decdba04/attachment.html>


More information about the ghc-steering-committee mailing list