java.lang.Object
com.jnape.palatable.lambda.monoid.builtin.Concat<A>
All Implemented Interfaces:
Fn1<Iterable<A>,Fn1<Iterable<A>,Iterable<A>>>, Fn2<Iterable<A>,Iterable<A>,Iterable<A>>, Applicative<Fn1<Iterable<A>,Iterable<A>>,Fn1<Iterable<A>,?>>, Cartesian<Iterable<A>,Fn1<Iterable<A>,Iterable<A>>,Fn1<?,?>>, Cocartesian<Iterable<A>,Fn1<Iterable<A>,Iterable<A>>,Fn1<?,?>>, Contravariant<Iterable<A>,Profunctor<?,Fn1<Iterable<A>,Iterable<A>>,Fn1<?,?>>>, Functor<Fn1<Iterable<A>,Iterable<A>>,Fn1<Iterable<A>,?>>, Profunctor<Iterable<A>,Fn1<Iterable<A>,Iterable<A>>,Fn1<?,?>>, Monad<Fn1<Iterable<A>,Iterable<A>>,Fn1<Iterable<A>,?>>, MonadReader<Iterable<A>,Fn1<Iterable<A>,Iterable<A>>,Fn1<Iterable<A>,?>>, MonadRec<Fn1<Iterable<A>,Iterable<A>>,Fn1<Iterable<A>,?>>, MonadWriter<Iterable<A>,Fn1<Iterable<A>,Iterable<A>>,Fn1<Iterable<A>,?>>, Monoid<Iterable<A>>, Semigroup<Iterable<A>>

public final class Concat<A> extends Object implements Monoid<Iterable<A>>
The Monoid instance formed under concatenation for an arbitrary Iterable.
See Also:
  • Field Details

    • INSTANCE

      private static final Concat<?> INSTANCE
  • Constructor Details

    • Concat

      private Concat()
  • Method Details

    • identity

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

      public Iterable<A> checkedApply(Iterable<A> xs, Iterable<A> ys)
      Specified by:
      checkedApply in interface Fn2<Iterable<A>,Iterable<A>,Iterable<A>>
    • foldMap

      public <B> Iterable<A> foldMap(Fn1<? super B,? extends Iterable<A>> 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<A>
      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:
    • concat

      public static <A> Concat<A> concat()
    • concat

      public static <A> Fn1<Iterable<A>,Iterable<A>> concat(Iterable<A> xs)
    • concat

      public static <A> Iterable<A> concat(Iterable<A> xs, Iterable<A> ys)