Hello, 
reading the proposed enhancements for Groovy 5.0 

I've several remarks, 
the proposed destructuring syntax is ambiguous 
switch(point3D) { 
case (a, b, c) -> ... 
} 
It's not clear if a, b and c are existing local variables (declared above) or 
fresh new bindings. 
Choosing fresh new variables instead of existing local variable has been a 
major contention point when the Python syntax was discussed. 
I do not want to influence you one way or another on the syntax to choose, just 
point the ambiguity. 

Otherwise, we are adding '_' as an unamed pattern/variable (as a preview) [1] 
and are using "when" instead of "&&" for the guard [2]. 

regards, 
Rémi 

[1] [ https://openjdk.org/jeps/443 | https://openjdk.org/jeps/443 ] 
[2] [ https://openjdk.org/jeps/441 | https://openjdk.org/jeps/441 ] 

> From: "Paul King" <pa...@asert.com.au>
> To: "dev" <dev@groovy.apache.org>
> Sent: Saturday, August 19, 2023 4:07:39 PM
> Subject: Re: [VOTE] Release Apache Groovy 5.0.0-alpha-1

> I will be updating the release notes over the next few days (during the voting
> window) and they will be here:
> [ https://groovy-lang.org/releasenotes/groovy-5.0.html |
> https://groovy-lang.org/releasenotes/groovy-5.0.html ]

> It's just a skeleton at the moment but I'll update as I go, but I won't start 
> in
> earnest until tomorrow.

> In the meantime, perhaps looking at the issues labelled 'breaking' is the best
> bet:

> [
> https://issues.apache.org/jira/browse/GROOVY-11118?jql=project%20%3D%2012318123%20AND%20fixVersion%20%3D%2012351227%20and%20labels%20%3D%20breaking
> |
> https://issues.apache.org/jira/browse/GROOVY-11118?jql=project%20%3D%2012318123%20AND%20fixVersion%20%3D%2012351227%20and%20labels%20%3D%20breaking
> ]

> Cheers, Paul.

> On Sat, Aug 19, 2023 at 10:36 PM Andres Almiray < [ mailto:aalmi...@gmail.com 
> |
> aalmi...@gmail.com ] > wrote:

>> +1 (binding)

>> Is there a list of breaking changes for 5.x?

>> On Sat, Aug 19, 2023 at 4:21 AM Paul King < [ mailto:pa...@asert.com.au |
>> pa...@asert.com.au ] > wrote:

>>> Dear development community,

>>> I am happy to start the VOTE thread for a Groovy 5.0.0-alpha-1 release!

>>> NOTE: We are not feature complete for Groovy 5. In the release notes,
>>> I will make it clear that this is an alpha release, not recommended for
>>> production use and subject to change. But I think we need to start getting
>>> feedback on the parts that are ready and having a release will help with 
>>> that.

>>> This release includes 119 bug fixes/improvements as outlined in the 
>>> changelog:
>>> [
>>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12318123&version=12351227
>>> |
>>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12318123&version=12351227
>>> ]

>>> Tag: [
>>> https://gitbox.apache.org/repos/asf?p=groovy.git;a=tag;h=refs/tags/GROOVY_5_0_0_ALPHA_1
>>> |
>>> https://gitbox.apache.org/repos/asf?p=groovy.git;a=tag;h=refs/tags/GROOVY_5_0_0_ALPHA_1
>>> ]
>>> Tag commit id: cbd5a526a7af9375858c8967adc1e32555cb91f7

>>> The artifacts to be voted on are located as follows (r63508).
>>> Source release: [
>>> https://dist.apache.org/repos/dist/dev/groovy/5.0.0-alpha-1/sources |
>>> https://dist.apache.org/repos/dist/dev/groovy/5.0.0-alpha-1/sources ]
>>> Convenience binaries: [
>>> https://dist.apache.org/repos/dist/dev/groovy/5.0.0-alpha-1/distribution |
>>> https://dist.apache.org/repos/dist/dev/groovy/5.0.0-alpha-1/distribution ]

>>> Release artifacts are signed with a key from the following file:
>>> [ https://dist.apache.org/repos/dist/release/groovy/KEYS |
>>> https://dist.apache.org/repos/dist/release/groovy/KEYS ]

>>> Please vote on releasing this package as Apache Groovy 5.0.0-alpha-1.

>>> Reminder on ASF release approval requirements for PMC members:
>>> [ http://www.apache.org/legal/release-policy.html#release-approval |
>>> http://www.apache.org/legal/release-policy.html#release-approval ]
>>> Hints on validating checksums/signatures (but replace md5sum with 
>>> sha256sum):
>>> [ https://www.apache.org/info/verification.html |
>>> https://www.apache.org/info/verification.html ]

>>> The vote is open for the next 72 hours and passes if a majority of at least
>>> three +1 PMC votes are cast.

>>> [ ] +1 Release Apache Groovy 5.0.0-alpha-1
>>> [ ] 0 I don't have a strong opinion about this, but I assume it's ok
>>> [ ] -1 Do not release Apache Groovy 5.0.0-alpha-1 because...

>>> Here is my vote:

>>> +1 (binding)

Reply via email to