Class MergeHMaps
java.lang.Object
com.jnape.palatable.lambda.monoid.builtin.MergeHMaps
- All Implemented Interfaces:
Fn1<HMap,
,Fn1<HMap, HMap>> Fn2<HMap,
,HMap, HMap> Applicative<Fn1<HMap,
,HMap>, Fn1<HMap, ?>> Cartesian<HMap,
,Fn1<HMap, HMap>, Fn1<?, ?>> Cocartesian<HMap,
,Fn1<HMap, HMap>, Fn1<?, ?>> Contravariant<HMap,
,Profunctor<?, Fn1<HMap, HMap>, Fn1<?, ?>>> Functor<Fn1<HMap,
,HMap>, Fn1<HMap, ?>> Profunctor<HMap,
,Fn1<HMap, HMap>, Fn1<?, ?>> Monad<Fn1<HMap,
,HMap>, Fn1<HMap, ?>> MonadReader<HMap,
,Fn1<HMap, HMap>, Fn1<HMap, ?>> MonadRec<Fn1<HMap,
,HMap>, Fn1<HMap, ?>> MonadWriter<HMap,
,Fn1<HMap, HMap>, Fn1<HMap, ?>> Monoid<HMap>
,Semigroup<HMap>
A
Monoid
instance formed by merging HMaps
using the chosen
TypeSafeKey
-> Semigroup
mappings
, defaulting to Last
in case no
Semigroup
has been chosen for a given TypeSafeKey
.-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
MergeHMaps
(Map<TypeSafeKey<?, ?>, Fn2<HMap, HMap, HMap>> bindings, MergeHMaps.Φ<Fn2<HMap, HMap, HMap>> defaultBinding) -
Method Summary
Modifier and TypeMethodDescriptioncheckedApply
(HMap x, HMap y) <B> HMap
Homomorphism combined with catamorphism.identity()
The identity element of this monoid.<A> MergeHMaps
key
(TypeSafeKey<?, A> key, Semigroup<A> semigroup) merge
(TypeSafeKey<?, A> key, Semigroup<Maybe<A>> semigroup) static MergeHMaps
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.jnape.palatable.lambda.functions.Fn1
andThen, carry, cartesian, censor, choose, cocartesian, diMap, diMapR, discardL, flatMap, fmap, lazyZip, listens, local, pure, self, thunk, toFunction, trampolineM, zip, zip
Methods inherited from interface com.jnape.palatable.lambda.functions.Fn2
apply, apply, checkedApply, compose, contraMap, diMapL, discardR, toBiFunction, uncurry, widen
Methods inherited from interface com.jnape.palatable.lambda.monoid.Monoid
flip, foldLeft, foldRight, reduceLeft, reduceRight
-
Field Details
-
bindings
-
defaultBinding
-
-
Constructor Details
-
MergeHMaps
-
-
Method Details
-
key
-
identity
Description copied from interface:Monoid
The identity element of this monoid. -
checkedApply
-
foldMap
Description copied from interface:Monoid
Homomorphism combined with catamorphism. Convert anIterable<B>
to anIterable<A>
(that is, anIterable
of elements this monoid is formed over), then reduce the result from left to right. Under algebraic data types, this is isomorphic to a flatMap. -
mergeHMaps
-
merge
-