3.0.0
Z version 3
This version brings more simplification and focus to Z. The total source lines of code has reduced by a little more than 12,000 lines (roughly a 40% reduction in the entire project).
There are also less options (no multi-argument fusion functions) and less verbosity... no no need to call resolve()
at the end of a fusion chain, and no fusing()
or absorbing()
semantic for continuations rather than terminal fusions.
The quick changes:
// v2 Z (these were all equivalent)
var c = Z.fuse(a, b);
var c = Z.with(a).fuse(b);
var c = Z.with(a).fusing(b).resolve();
// v3 Z
var c = Z.fuse(a).fuse(b);
Now .fuse(...)
and .absorb(...)
always result in functional interfaces. They can also be chained indefinitely unless the number of inputs required grows. (For example by fusing BiFunction
s)
For details on how to translate a more specific call pattern, see the changes in tests since 2.0.0:
Full Changelog: v2.0.0...v3.0.0