All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Loosening visibility on
Traversablesmethods topublic
1.6.0 - 2017-06-04
Either#invertis pulled up intoCoProduct2and additionally specialized forChoice2CoProductN#embednot, used for negating predicate functionsempty, used to test if an Iterable is emptygroupBy, for folding an Iterable into a Map given a key functionApplicativearrives; all functors gain applicative propertiesTraversablearrives;SingletonHList,Tuple*,Choice*,Either,Identity, andConstgain traversable propertiesTraversableOptionalandTraversableIterablefor adaptingOptionalandIterable, respectively, toTraversablesequencefor wrapping a traversable in an applicative during traversalCompose, an applicative functor that represents type-level functor composition
Functor,Bifunctor, andProfunctor(as well as all instances) get a unification parameterIdentitysupports value equalityConstsupports value equalitypartitionnow only requires iterables ofCoProudct2CoProductNs receive a unification parameter, which trickles down toEitherandChoicesConcatnow represents a monoid forIterable; previousConcatsemigroup and monoid renamed to more appropriateAddAllLensis now an instance ofProfunctor
1.5.6 - 2017-02-11
ChoiceNtypes, representing concrete coproduct implementations that are alsoFunctorandBiFunctortoMap,last,cons,prependAll,intersperseTuple2/3/4#into, for applying the values in a tuple as positional arguments to a function.FirstandLastmonoids overOptionalAndandOrmonoids overBoolean
CoProductN.[a-e]()static factory methods moved to equivalentChoiceNclass. Coproduct interfaces now solely represent methods, no longer have anonymous implementations, and no longer require aFunctorconstraint
1.5.5 - 2016-12-17
CoProductN#project, to project disjoint union types into tuples ofOptionalvaluesCoProductN#converge, to drop the magnitude of a coproduct down by one typetoCollectionandsize
- semigroups and monoids moved under
fn2package
1.5.4 - 2016-11-27
Fn1/2#adaptto switch between lambda andjava.util.functiontypes more easilyeq,head,find, andtailBiPredicateMonoid#foldMapHMap#toMapto go from a heterogeneous map to ajava.util.Map
1.5.3 - 2016-11-06
SemigroupandMonoidEither#invertpartition- Generalized coproducts implemented as
CoProduct2throughCoProduct5 Eitheris now aCoProduct2
1.5.2 - 2016-09-24
- Heterogeneous list indexes arrive via
Index
Lensstatic factory method renaming
1.5.1 - 2016-08-30
- Independent
Lensparameter mapping viamapS,mapT,mapA, andmapB
1.5 - 2016-08-28
- Initial lens support with
LensandSimpleLenstypes andview,set, andoverfunctions ConstandIdentityfunctorsEither#toOptionalHMap#removeandHMap#removeAll
1.4 - 2016-08-08
- All function input values become
java.util.functiontypes, and all function output values remain lambda types, for better compatibility
1.3 - 2016-07-31
HListspecializations support random access lookup
Profunctorinheritance hierarchy- Renaming
IdentitytoId Monadic/Dyadic/TriadicFunctionis nowFn1/2/3
1.2 - 2016-06-27
Either#peekHMap, heterogeneous mapsTuple2is now also aMap.Entry
Tuples moved underHListas specialized subtypes
1.1 - 2016-06-21
scanLeftHList, heterogenous lists- Added up to
Tuple5 Either, specialized coproduct with success/failure semantics
- Better interoperability between lambda and
java.util.functiontypes
1.0 - 2015-12-29
- Initial implementation of first-class curried functions
all,any,cartesianProduct,cycle,drop,dropWhile,filter,foldLeft,foldRight,inGroupsOf,map,partial2,partial3,reduceLeft,reduceRight,repeat,take,takeWhile,unfoldrMonadic/Dyadic/TriadicFunction,Predicate,Tuple2,Tuple3Functor,BiFunctor,ProFunctor