λ v3.1.0 Release Notes

Release Date: 2018-07-17 // almost 6 years ago
  • ➕ Added

    • Fn3-8 static factory overloads to aid in coercing lambdas
    • ➕ Adding composition guarantees to LensLike
    • CmpEqBy, CmpEq, GTBy, GT, LTBy, LT, GTEBy, GTE, LTEBy, and LTE inequality checks
    • MinBy, MaxBy, Min, and Max semigroups
    • Product2-8 interfaces, representing general product types
    • Union, a monoid that behaves like a lazy set union on Iterables
    • Difference, a semigroup that behaves like a partially lazy set difference on Iterables
    • LambdaMap, extension point for j.u.Map, similar to LambdaIterable
    • Sequence#sequence overloads for j.u.Map that traverse via intermediate LambdaMap instances
    • Intersection, a semigroup that behaves like a lazy set intersection on Iterables
    • Fn0, a function from Unit to some value
    • Fn1#thunk, producing an Fn0
    • Absent, a monoid over Maybe that is absence biased
    • RateLimit, a function that iterates elements from an Iterable according to some rate limit
    • Try#withResources, Try's expression analog to Java 7's try-with-resources statement
    • Occurrences, for counting the occurrences of the members of an Iterable
    • Effect, an Fn0 returning UNIT
    • Noop, a no-op Effect
    • Fn1#widen, add an ignored argument to the beginning of any function to raise its arity by one

    🔄 Changed

    • Tuple2-8 now implement Product2-8
    • Into now accepts Map.Entry
    • Into3-8 now accept a product of the same cardinality, instead of requiring a tuple
    • CoProduct2-8#project now return generalized products
    • Choice2-8#project return tuples
    • liftA2 receives more parameters to aid inference
    • 👍 Compose#getCompose now supports inference

    ✂ Removed

    • 🚀 MapLens#mappingValues, deprecated in a prior release
    • 🚀 CollectionLens#asSet, deprecated in a prior release
    • 🚀 CollectionLens#asStream, deprecated in a prior release