Thanks Rémi, The description for the enhancements to switch currently in the release notes is very much a placeholder. It is quite old, in fact from memory it was carried over from the Groovy 4 release notes where it was removed when we drew the line for Groovy 4 functionality. If it makes the cut for Groovy 5 GA, there will indeed need to be a GEP with a better specification and before we do a first beta release. Thanks very much for your insights.
Groovy 5 supports '_' as a placeholder for tuple assignment deconstruction and unused closure/lambda parameters. I haven't added that to the release notes yet. We should keep that in mind also as an option if we do progress the switch above. Cheers, Paul. On Sun, Aug 20, 2023 at 7:39 AM Remi Forax <fo...@univ-mlv.fr> wrote: > 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 > [2] 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 > > 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 > > Cheers, Paul. > > > On Sat, Aug 19, 2023 at 10:36 PM Andres Almiray <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 <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 >>> >>> Tag: >>> 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 >>> Convenience binaries: >>> 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 >>> >>> 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 >>> Hints on validating checksums/signatures (but replace md5sum with >>> sha256sum): >>> 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) >>> >>> >