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>

public final class MergeHMaps extends Object implements Monoid<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.
  • Method Details

    • key

      public <A> MergeHMaps key(TypeSafeKey<?,A> key, Semigroup<A> semigroup)
    • identity

      public HMap identity()
      Description copied from interface: Monoid
      The identity element of this monoid.
      Specified by:
      identity in interface Monoid<HMap>
      Returns:
      the identity
    • checkedApply

      public HMap checkedApply(HMap x, HMap y) throws Throwable
      Specified by:
      checkedApply in interface Fn2<HMap,HMap,HMap>
      Throws:
      Throwable
    • foldMap

      public <B> HMap foldMap(Fn1<? super B, ? extends HMap> fn, Iterable<B> bs)
      Description copied from interface: Monoid
      Homomorphism combined with catamorphism. Convert an Iterable<B> to an Iterable<A> (that is, an Iterable 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.
      Specified by:
      foldMap in interface Monoid<HMap>
      Type Parameters:
      B - the input Iterable element type
      Parameters:
      fn - the mapping function from A to B
      bs - the Iterable of Bs
      Returns:
      the folded result under this Monoid
      See Also:
    • mergeHMaps

      public static MergeHMaps mergeHMaps()