λ v5.3.0 Release Notes

Release Date: 2020-12-07 // over 3 years ago
  • 🔄 Changed

    • IterateT#unfold now only computes a single Pure for the given input
    • ReaderT#fmap and StateT#fmap avoid unnecessary calls to pure
    • MaybeT implements MonadError

    ➕ Added

    • $, function application represented as a higher-order Fn2
    • Fn1#withSelf, a static method for constructing a self-referencing Fn1
    • HNil/SingletonHList/TupleX#snoc, a method to add a new last element (append to a tuple)
    • Tuple2-8#init, for populating a TupleN with all but the last element

    🛠 Fixed

    • IterateT#trampolineM now yields and stages all recursive result values, rather than prematurely terminating on the first termination result
    • IterateT#flatMap is now stack-safe regardless of how many consecutive empty IterateTs are returned and regardless of whether the monad is strict or lazy or internally trampolined