Golo News Roundup #10
We haven’t taken time to write a roundup for the last few releases, so now is a good time to let our community know what we are up to!
What’s on the master branch?
We haven’t been idle since Golo
2.1.0 as we shifted the development towards
3.0.0 which will
require Java SE 8 as a runtime.
Here is a short recap of the upcoming changes in Golo
Java 8 and lambdas
Golo now adapts function references to Java 8 lambdas (a.k.a. functional interfaces), as in:
Named arguments increase readability, and they are now coming to Golo:
Last but not least, named parameters work with Java APIs, too… as long as code has been compiled
Easier adapter definition API
There is now a fluent API for those who were less comfortable with nested collections for describing adapters:
Also known as sum types, they complement
Note that named arguments support is also interesting in terms of readability…
Function references are now boxed
Function references used to be instances of MethodHandle.
The development of named arguments proved this to be a bad abstraction, so we introduced a new
The change is mostly transparent for existing code bases.
Proper LL(k) operators precedence
The operators precedence in Golo was wrong in many ways, and some expressions could easily mean anything but what you expected unless you had proper parenthesis.
We got back to our textbooks and fixed this. Now operators behave just like they should.
Command-line interface subcommands
Command-line interface subcommands now take advantage of a standard Java service provider interface, so new ones can be developed independently.
Proposal for incubation at the Eclipse Foundation
Our proposal is public and we have a team in place, including mentors.
The project has yet to go through a creation review. Before that some trademark checks and domain name transfer need to be put in place.
To be honest we expected the process to be faster, but the approaching release of Eclipse Mars is eating lots of bandwidth for the legal staff at the foundation.
Hopefully we will be able to resolve these matters in the next few weeks and we will be able to enter the incubator sooner rather than later.