[ghc-steering-committee] #626: Amendment of Visible Forall in Types, recommendation: Accept

Richard Eisenberg rae at richarde.dev
Tue Jan 2 12:55:45 UTC 2024


I support the amendment. I made one small suggestion, but I wish to vote for acceptance regardless of the status of this suggestion.

Richard

> On Dec 22, 2023, at 9:20 AM, Arnaud Spiwack <arnaud.spiwack at tweag.io> wrote:
> 
> I realised today that we haven't completed the vote on this. This is really a very simple proposal, let's not spend too long on this. I'll be on holiday for the next two weeks, I'm a bit embarrassed to send this email only now. But please opine soon. I'd like to be able to give an answer soon after I'm back (say on the 12th January)
> 
> Best,
> Arnaud
> 
> On Mon, 11 Dec 2023 at 11:06, Simon Peyton Jones <simon.peytonjones at gmail.com <mailto:simon.peytonjones at gmail.com>> wrote:
> I recommend acceptance too.  It's all very fine detail.
> 
> The actual diff seems quite large but that's because I encouraged Vlad to take the opportunity to clarity the rather cryptic sentence in the original #218, namely "The syntactic descriptions here applying to expressions apply equally to patterns, though we will continue to discuss only expressions."  Instead it is all spelled out much more explicitly, which is way better.  Indeed spelling it out showed up a dark corner to do with view patterns, hence the icky stuff Arnaud mentions.
> 
> Simon
> 
> 
> On Mon, 11 Dec 2023 at 09:56, Arnaud Spiwack <arnaud.spiwack at tweag.io <mailto:arnaud.spiwack at tweag.io>> wrote:
> Dear all,
> 
> Vlad is proposing to amend his own proposal https://github.com/ghc-proposals/ghc-proposals/pull/626 <https://github.com/ghc-proposals/ghc-proposals/pull/626>
> 
> Being an amendment, it's, as always, not as straightforward to consume, but Vlad gives us a good summary of the changes in his pull-request description.
> 
> All in all, it's almost entirely straightforward clarification. There are two items of notice: patterns for visible forall arguments were specified as: only variable or wildcard. The amendment changes it to allow data constructors applied to (0 or more) patterns as well. The amended version is consistent with how patterns for invisible forall arguments are specified. The second, and this one is for Moritz, is a small change in the parsing of view patterns (it does break two packages at least on Hackage, but I actually don't quite understand how the change can affect semantics. It's that tiny. Vlad proposes 3 releases with warning before effecting the change).
> 
> Maybe there's a third item: `p -> q` parses differently depending on whether ViewPattern or RequiredTypeArguments (or both) is turned on. This is kind of icky, I suppose. But in the case where both are on, then ViewPattern wins, so there's no real harm in it.
> 
> Do pay some attention to the new items in the alternatives section.
> 
> Anyway, I recommend we accept.
> 
> -- 
> Arnaud Spiwack
> Director, Research at https://moduscreate.com <https://moduscreate.com/> and https://tweag.io <https://tweag.io/>.
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org <mailto:ghc-steering-committee at haskell.org>
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee <https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee>
> 
> 
> -- 
> Arnaud Spiwack
> Director, Research at https://moduscreate.com <https://moduscreate.com/> and https://tweag.io <https://tweag.io/>.
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org <mailto:ghc-steering-committee at haskell.org>
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee <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/20240102/b6cb6d71/attachment.html>


More information about the ghc-steering-committee mailing list