Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Golo/Roadmap-v3.0"
< Golo
(→3.0.0-incubation-M2 (2015/09/07)) |
(→3.0.0-incubation-M2 (2015/09/07)) |
||
Line 34: | Line 34: | ||
=== 3.0.0-incubation-M2 (2015/09/07) === | === 3.0.0-incubation-M2 (2015/09/07) === | ||
− | * Collection comprehensions. | + | * Collection comprehensions, inspired by Python. |
* The documentation is now generated with AsciiDoctor instead of AsciiDoc. | * The documentation is now generated with AsciiDoctor instead of AsciiDoc. | ||
* Union types now have special methods synthesized from members to facilitate tests. | * Union types now have special methods synthesized from members to facilitate tests. | ||
+ | * The build has been migrated from Maven to Gradle. | ||
+ | * '''reversed_range''' has been renamed to '''reversedRange''' for consistency reasons. | ||
+ | * The new '''box(obj)''' predefined function boxes an object reference into a '''java.util.concurrent.atomic.AtomicReference'''. This is useful to inject mutable state into closures. | ||
=== 3.0.0-incubation-M3 (2015/11/19) === | === 3.0.0-incubation-M3 (2015/11/19) === |
Revision as of 16:40, 31 August 2015
Contents
Overview
The development of Golo 3.0.0 directly follows release 2.1.0, the last release that was made under the stewardship of INSA-Lyon before entering incubation at the Eclipse Foundation.
The plan is to coordinate Golo 3.0.0 with a project graduation review.
The march towards completion of Golo 3.0.0 will proceed with the publication of a yet undetermined number of milestones. Note that due to the project being incubating, we cannot call these releases, just milestones.
Milestones
We adopt a 6 weeks fixed schedule between milestones. The planning of milestones is organic.
3.0.0-incubation-M1 (2015/07/27)
- JDK 8 is now required.
- Support for Java 8 lambdas / functional interfaces.
- Support for named arguments, leveraging JDK 8 bytecode metadata.
- New union types.
- Operators priorities and left-associativity have been fixed in the LL(k) parser.
- Augmentations can now define a fallback method.
- New lazy lists.
- foreach loops can now have a guard condition.
- Function references are now represented using FunctionReference rather than straight MethodHandle.
- Decorators can now change function arities.
- Deprecated array methods and functions have been removed.
- Easier adapters generation API.
- CLI subcommands are now defined through a SPI for modularity and extensibility.
- The `fun` function can now retrieve instance methods.
- Fixes in arithmetic comparison operators.
- Fixes in special character escaping in String and char literals.
- Documentation generation is now self-contained with Asciidoctor instead of Asciidoc.
3.0.0-incubation-M2 (2015/09/07)
- Collection comprehensions, inspired by Python.
- The documentation is now generated with AsciiDoctor instead of AsciiDoc.
- Union types now have special methods synthesized from members to facilitate tests.
- The build has been migrated from Maven to Gradle.
- reversed_range has been renamed to reversedRange for consistency reasons.
- The new box(obj) predefined function boxes an object reference into a java.util.concurrent.atomic.AtomicReference. This is useful to inject mutable state into closures.
3.0.0-incubation-M3 (2015/11/19)
(TBA)