Class Tails<A>

  • Type Parameters:
    A - the Iterable element type
    All Implemented Interfaces:
    Fn1<java.lang.Iterable<A>,​java.lang.Iterable<java.lang.Iterable<A>>>, Applicative<java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, Cartesian<java.lang.Iterable<A>,​java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<?,​?>>, Cocartesian<java.lang.Iterable<A>,​java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<?,​?>>, Contravariant<java.lang.Iterable<A>,​Profunctor<?,​java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<?,​?>>>, Functor<java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, Profunctor<java.lang.Iterable<A>,​java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<?,​?>>, Monad<java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, MonadReader<java.lang.Iterable<A>,​java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, MonadRec<java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>, MonadWriter<java.lang.Iterable<A>,​java.lang.Iterable<java.lang.Iterable<A>>,​Fn1<java.lang.Iterable<A>,​?>>

    public final class Tails<A>
    extends java.lang.Object
    implements Fn1<java.lang.Iterable<A>,​java.lang.Iterable<java.lang.Iterable<A>>>
    Given an Iterable<A>, produce an Iterable<Iterable<A>>, representing all of the subsequences of tail elements, ordered by size, starting with the full Iterable.

    For example, tails(asList(1,2,3)) would iterate [1,2,3], [2,3], [3], and [].

    • Field Detail

      • INSTANCE

        private static final Tails<?> INSTANCE
    • Constructor Detail

      • Tails

        private Tails()
    • Method Detail

      • checkedApply

        public java.lang.Iterable<java.lang.Iterable<A>> checkedApply​(java.lang.Iterable<A> as)
        Description copied from interface: Fn1
        Invoke this function with the given argument, potentially throwing any Throwable.
        Specified by:
        checkedApply in interface Fn1<java.lang.Iterable<A>,​java.lang.Iterable<java.lang.Iterable<A>>>
        Parameters:
        as - the argument
        Returns:
        the result of the function application
      • tails

        public static <A> Tails<A> tails()
      • tails

        public static <A> java.lang.Iterable<java.lang.Iterable<A>> tails​(java.lang.Iterable<A> as)