Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "Golo/Roadmap-v3.0"

(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

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)

Back to the top