λ v5.2.0 Release Notes

Release Date: 2020-02-08 // 4 months ago
  • 🔄 Changed

    • HList#cons static factory method auto-promotes to specialized HList if there is one
    • EitherT gains a MonadError instance

    ➕ Added

    • 🔀 MergeHMaps, a Monoid that merges HMaps by merging the values via key-specified Semigroups
    • Id#id overload that accepts an argument and returns it
    • MaybeT#or, choose the first MaybeT that represents an effect around just a value
    • MaybeT#filter, filter a Maybe inside an effect
    • StateMatcher, StateTMatcher, WriterTMatcher
    • ReaderT#and, category composition between ReaderT instances: (a -> m b) -> (b -> m c) -> (a -> m c)
    • IterateT, ListT done right
    • Comparison, a type-safe sum of LT, EQ, and GT orderings
    • Compare, a function taking a Comparator and returning a Comparison
    • Min/Max/...With variants for inequality testing with a Comparator

Previous changes from v5.1.0

  • 🔄 Changed

    • 👍 All monad transformers that can support composable parallelism do support it

    ➕ Added

    • Writer, the writer monad
    • EndoK, a monoid formed under endomorphism for any monad
    • AutoBracket, a specialized form of Bracket for AutoCloseable that closes the resource during cleanup

    🛠 Fixed

    • SafeT#zip is now stack-safe regardless of the underlying monad's zip implementation

    🗄 Deprecated

    • Force, in favor if traversing into an IO and explicitly running it