λ v5.4.0 Release Notes
Release Date: 2021-09-17 // over 4 years ago-
🔄 Changed
Absentfolds short-circuit on the firstnothing()- 👍
EitherMatcher#isLeftThat/isRightThatsupport contravariant bounds on their delegates
➕ Added
IterateT#runStep, a method used to run a single step of an IterateT without the contractual guarantee of emitting a value or reaching the endThese#fromMaybes :: Maybe a -> Maybe b -> Maybe (These a b)EitherMatcher#isLeftOf/isRightOffor asserting equality
🛠 Fixed
WriterTnow keeps an immediate reference to the embedded monad'spure
Previous changes from v5.3.0
-
🔄 Changed
IterateT#unfoldnow only computes a singlePurefor the given inputReaderT#fmapandStateT#fmapavoid unnecessary calls topureMaybeTimplementsMonadError
➕ Added
$, function application represented as a higher-orderFn2Fn1#withSelf, a static method for constructing a self-referencingFn1HNil/SingletonHList/TupleX#snoc, a method to add a new last element (append to a tuple)Tuple2-8#init, for populating aTupleNwith all but the last element
🛠 Fixed
IterateT#trampolineMnow yields and stages all recursive result values, rather than prematurely terminating on the first termination resultIterateT#flatMapis now stack-safe regardless of how many consecutive emptyIterateTs are returned and regardless of whether the monad is strict or lazy or internally trampolined