Now available: Golo 3.0.0 milestone 2
We are pleased to share the second milestone towards Golo 3.0.0.
Sticking to our roadmap, we will make a new milestone available every 6 weeks.
What’s new?
- 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 toreversedRange
for consistency reasons.- The new
box(obj)
predefined function boxes an object reference into ajava.util.concurrent.atomic.AtomicReference
. This is useful to inject mutable state into closures.
The highlight of this milestone is clearly the new collection comprehensions contributed by Yannick Loiseau. You can now turn code like:
let l = list[]
foreach x in [1..4] {
foreach y in ["a", "b", "c"] {
l: add([x, y])
}
}
into:
let l = list[ [x, y] foreach x in [1..4] foreach y in ["a", "b", "c"] ]