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

Spiwack, Arnaud arnaud.spiwack at tweag.io
Tue Nov 12 18:58:24 UTC 2019


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20191112/ede88ffa/attachment.html>


More information about the ghc-steering-committee mailing list