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
ConstructorsModifierConstructorDescriptionprivateMergeHMaps(Map<TypeSafeKey<?, ?>, Fn2<HMap, HMap, HMap>> bindings, MergeHMaps.Φ<Fn2<HMap, HMap, HMap>> defaultBinding) -
Method Summary
Modifier and TypeMethodDescriptioncheckedApply(HMap x, HMap y) <B> HMapHomomorphism combined with catamorphism.identity()The identity element of this monoid.<A> MergeHMapskey(TypeSafeKey<?, A> key, Semigroup<A> semigroup) merge(TypeSafeKey<?, A> key, Semigroup<Maybe<A>> semigroup) static MergeHMapsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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, zipMethods inherited from interface com.jnape.palatable.lambda.functions.Fn2
apply, apply, checkedApply, compose, contraMap, diMapL, discardR, toBiFunction, uncurry, widenMethods 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:MonoidThe identity element of this monoid. -
checkedApply
-
foldMap
Description copied from interface:MonoidHomomorphism combined with catamorphism. Convert anIterable<B>to anIterable<A>(that is, anIterableof 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
-