<div dir="ltr"><div>Proposal #285:<br></div><div dir="ltr"><br></div><div dir="ltr"><a href="https://github.com/ghc-proposals/ghc-proposals/pull/285" rel="noreferrer" target="_blank">https://github.com/ghc-proposals/ghc-proposals/pull/285</a></div><div><br></div><div>suggests two new LANGUAGE pragmas -XNoImplicitForall and -XNoPatternSignatureBinds.</div><div><br></div><div>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.</div><div><br></div><div>However I think we should be wary of the potential future direction, mentioned in the proposal:</div><div><br></div><div>> As described in the motivation, this opens the door to other means to bind the previously implicitly bound variables. <br></div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>Cheers</div><div>Simon<br></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 7 Nov 2019 at 09:29, Joachim Breitner <<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear Committee,<br>
<br>
this is your secretary speaking:<br>
<br>
-XNoImplicitForAll<br>
has been proposed by John Ericson<br>
<a href="https://github.com/ghc-proposals/ghc-proposals/pull/285" rel="noreferrer" target="_blank">https://github.com/ghc-proposals/ghc-proposals/pull/285</a><br>
<a href="https://github.com/Ericson2314/ghc-proposals/blob/no-implicit-forall/proposals/0000-no-implicit-forall.rst" rel="noreferrer" target="_blank">https://github.com/Ericson2314/ghc-proposals/blob/no-implicit-forall/proposals/0000-no-implicit-forall.rst</a><br>
<br>
I propose Simon Marlow as the shepherd.<br>
<br>
Please reach consensus as described in<br>
<a href="https://github.com/ghc-proposals/ghc-proposals#committee-process" rel="noreferrer" target="_blank">https://github.com/ghc-proposals/ghc-proposals#committee-process</a><br>
I suggest you make a recommendation, in a new e-mail thread with the<br>
proposal number in the subject, about the decision, maybe point out<br>
debatable points, and assume that anyone who stays quiet agrees with<br>
you.<br>
<br>
Thanks,<br>
Joachim<br>
-- <br>
Joachim Breitner<br>
<a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><br>
<a href="http://www.joachim-breitner.de/" rel="noreferrer" target="_blank">http://www.joachim-breitner.de/</a><br>
<br>
_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</blockquote></div></div>