Class Concat<A>

  • All Implemented Interfaces:
    Fn1<java.lang.Iterable<A>,​Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>>, Fn2<java.lang.Iterable<A>,​java.lang.Iterable<A>,​java.lang.Iterable<A>>, Applicative<Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, Cartesian<java.lang.Iterable<A>,​Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<?,​?>>, Cocartesian<java.lang.Iterable<A>,​Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<?,​?>>, Contravariant<java.lang.Iterable<A>,​Profunctor<?,​Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<?,​?>>>, Functor<Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, Profunctor<java.lang.Iterable<A>,​Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<?,​?>>, Monad<Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, MonadReader<java.lang.Iterable<A>,​Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, MonadRec<Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, MonadWriter<java.lang.Iterable<A>,​Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, Monoid<java.lang.Iterable<A>>, Semigroup<java.lang.Iterable<A>>

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

      • INSTANCE

        private static final Concat<?> INSTANCE
    • Constructor Detail

      • Concat

        private Concat()
    • Method Detail

      • identity

        public java.lang.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 java.lang.Iterable<A> checkedApply​(java.lang.Iterable<A> xs,
                                                  java.lang.Iterable<A> ys)
        Specified by:
        checkedApply in interface Fn2<java.lang.Iterable<A>,​java.lang.Iterable<A>,​java.lang.Iterable<A>>
      • foldMap

        public <B> java.lang.Iterable<A> foldMap​(Fn1<? super B,​? extends java.lang.Iterable<A>> fn,
                                                 java.lang.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:
        Map, Monoid.reduceLeft(Iterable)
      • concat

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

        public static <A> Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>> concat​(java.lang.Iterable<A> xs)
      • concat

        public static <A> java.lang.Iterable<A> concat​(java.lang.Iterable<A> xs,
                                                       java.lang.Iterable<A> ys)