Skip to content

3.0.0

Compare
Choose a tag to compare
@booniepepper booniepepper released this 11 Jun 23:16
· 19 commits to core since this release

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 BiFunctions)

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