[ghc-steering-committee] #626: Amendment of Visible Forall in Types, recommendation: Accept
Arnaud Spiwack
arnaud.spiwack at tweag.io
Fri Dec 22 14:20:36 UTC 2023
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> 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>
> wrote:
>
>> Dear all,
>>
>> Vlad is proposing to amend his own proposal
>> 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 and https://tweag.io.
>> _______________________________________________
>> ghc-steering-committee mailing list
>> ghc-steering-committee at haskell.org
>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>>
>
--
Arnaud Spiwack
Director, Research at https://moduscreate.com and https://tweag.io.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20231222/03f81efa/attachment-0001.html>
More information about the ghc-steering-committee
mailing list