<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>