<div dir="ltr">I think that the proposal makes a great job at listing the issues. It's quite transparent about this, I'm not sure what I could add.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 27, 2021 at 11:29 AM Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com">simonpj@microsoft.com</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">I was indeed confused! Apologies.<br>
<br>
But my main point remains: enumerating a list of inconvenient side effects and corner cases would be a great service.<br>
<br>
Simon<br>
<br>
PS: I am leaving Microsoft at the end of November 2021, at which point <a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a> will cease to work. Use <a href="mailto:simon.peytonjones@gmail.com" target="_blank">simon.peytonjones@gmail.com</a> instead. (For now, it just forwards to <a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>.)<br>
<br>
| -----Original Message-----<br>
| From: Vladislav Zavialov (int-index) <<a href="mailto:vlad.z.4096@gmail.com" target="_blank">vlad.z.4096@gmail.com</a>><br>
| Sent: 27 October 2021 10:10<br>
| To: Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>><br>
| Cc: Spiwack, Arnaud <<a href="mailto:arnaud.spiwack@tweag.io" target="_blank">arnaud.spiwack@tweag.io</a>>; Richard Eisenberg<br>
| <<a href="mailto:rae@richarde.dev" target="_blank">rae@richarde.dev</a>>; ghc-steering-committee <ghc-steering-<br>
| <a href="mailto:committee@haskell.org" target="_blank">committee@haskell.org</a>><br>
| Subject: Re: [ghc-steering-committee] Proposal #281: Visible "forall"<br>
| in terms; rec: accept<br>
| <br>
| Simon, perhaps you’re thinking of another proposal that is currently<br>
| under committee’s consideration?<br>
| <br>
| Arnaud was commenting on #281, and you seem to be talking about #425.<br>
| <br>
| - Vlad<br>
| <br>
| > On 27 Oct 2021, at 12:05, Simon Peyton Jones via ghc-steering-<br>
| committee <<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a>> wrote:<br>
| ><br>
| > There are a lot of inconvenient side effects and corner cases<br>
| ><br>
| > Arnaud, could you enumerate them? Even if (as I strongly hope) we<br>
| accept this proposal, it’s good to have a concrete list of things to<br>
| bear in mind. I for one do not have such list in my head.<br>
| ><br>
| > One principle that the proposal espouses (but perhaps does not call<br>
| out explicitly) is that it should be possible to write an explicit<br>
| binder for every in-scope variable. So instead of<br>
| > data T (a :: k -> k) = … I want to write<br>
| > data T @k (a :: k -> k) = … with an explicit binder<br>
| > for k.<br>
| ><br>
| > So I see the proposal as removing an ad-hoc wart in the language.<br>
| But I may be blind to the “inconvenient side effects and corner cases”<br>
| and I’d welcome a list of such cases.<br>
| ><br>
| > Simon<br>
| ><br>
| ><br>
| > PS: I am leaving Microsoft at the end of November 2021, at which<br>
| point<br>
| > <a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a> will cease to work.<br>
| > <a href="mailto:Usesimon.peytonjones@gmail.com" target="_blank">Usesimon.peytonjones@gmail.com</a> instead. (For now, it just forwards<br>
| to<br>
| > <a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>.)<br>
| ><br>
| > From: ghc-steering-committee<br>
| > <<a href="mailto:ghc-steering-committee-bounces@haskell.org" target="_blank">ghc-steering-committee-bounces@haskell.org</a>> On Behalf Of Spiwack,<br>
| > Arnaud<br>
| > Sent: 27 October 2021 09:20<br>
| > To: Richard Eisenberg <<a href="mailto:rae@richarde.dev" target="_blank">rae@richarde.dev</a>><br>
| > Cc: ghc-steering-committee <<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a>><br>
| > Subject: Re: [ghc-steering-committee] Proposal #281: Visible<br>
| "forall"<br>
| > in terms; rec: accept<br>
| ><br>
| > I've been struggling to have an opinion on this PR. I'm very<br>
| sympathetic to the goal of the proposal (and this latest rendition of<br>
| the proposal is a really good document). There are a lot of<br>
| inconvenient side effects and corner cases (but, to be fair, these are<br>
| not special to this proposal: they are inherent to the dependent types<br>
| plan). But I'm fairly convinced that this is the best possible<br>
| approach, or close enough.<br>
| ><br>
| ><br>
| ><br>
| > So yes, I don't really feel strongly about it. But on balance, I<br>
| think that I'm in favour.<br>
</blockquote></div>