Class Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7>

  • Type Parameters:
    _1 - The first slot element type
    _2 - The second slot element type
    _3 - The third slot element type
    _4 - The fourth slot element type
    _5 - The fifth slot element type
    _6 - The sixth slot element type
    _7 - The seventh slot element type
    All Implemented Interfaces:
    Product2<_1,​_2>, Product3<_1,​_2,​_3>, Product4<_1,​_2,​_3,​_4>, Product5<_1,​_2,​_3,​_4,​_5>, Product6<_1,​_2,​_3,​_4,​_5,​_6>, Product7<_1,​_2,​_3,​_4,​_5,​_6,​_7>, Applicative<_7,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>, Bifunctor<_6,​_7,​Tuple7<_1,​_2,​_3,​_4,​_5,​?,​?>>, BoundedBifunctor<_6,​_7,​java.lang.Object,​java.lang.Object,​Tuple7<_1,​_2,​_3,​_4,​_5,​?,​?>>, Functor<_7,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>, Monad<_7,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>, MonadRec<_7,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>, Traversable<_7,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>, java.util.Map.Entry<_1,​_2>

    public class Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7>
    extends HList.HCons<_1,​Tuple6<_2,​_3,​_4,​_5,​_6,​_7>>
    implements Product7<_1,​_2,​_3,​_4,​_5,​_6,​_7>, MonadRec<_7,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>, Bifunctor<_6,​_7,​Tuple7<_1,​_2,​_3,​_4,​_5,​?,​?>>, Traversable<_7,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>
    A 7-element tuple product type, implemented as a specialized HList. Supports random access.
    See Also:
    Product7, HList, SingletonHList, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private _1 _1  
      private _2 _2  
      private _3 _3  
      private _4 _4  
      private _5 _5  
      private _6 _6  
      private _7 _7  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      _1 _1()
      Retrieve the first element.
      _2 _2()
      Retrieve the second element.
      _3 _3()
      Retrieve the third element.
      _4 _4()
      Retrieve the fourth element.
      _5 _5()
      Retrieve the fifth element.
      _6 _6()
      Retrieve the sixth element.
      _7 _7()
      Retrieve the seventh element.
      <_6Prime,​_7Prime>
      Tuple7<_1,​_2,​_3,​_4,​_5,​_6Prime,​_7Prime>
      biMap​(Fn1<? super _6,​? extends _6Prime> lFn, Fn1<? super _7,​? extends _7Prime> rFn)
      Dually map covariantly over both the left and right parameters.
      <_6Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6Prime,​_7> biMapL​(Fn1<? super _6,​? extends _6Prime> fn)
      Covariantly map over the left parameter.
      <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> biMapR​(Fn1<? super _7,​? extends _7Prime> fn)
      Covariantly map over the right parameter.
      <_0> Tuple8<_0,​_1,​_2,​_3,​_4,​_5,​_6,​_7> cons​(_0 _0)
      Cons an element onto the front of this HList.
      <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> discardL​(Applicative<_7Prime,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>> appB)
      Sequence both this Applicative and appB, discarding this Applicative's result and returning appB.
      <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7> discardR​(Applicative<_7Prime,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>> appB)
      Sequence both this Applicative and appB, discarding appB's result and returning this Applicative.
      static <A> Tuple7<A,​A,​A,​A,​A,​A,​A> fill​(A a)
      Given a value of type A, produced an instance of this tuple with each slot set to that value.
      <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> flatMap​(Fn1<? super _7,​? extends Monad<_7Prime,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>> f)
      Chain dependent computations that may continue or short-circuit based on previous results.
      <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> fmap​(Fn1<? super _7,​? extends _7Prime> fn)
      Covariantly transmute this functor's parameter using the given mapping function.
      static <A> Maybe<Tuple7<A,​A,​A,​A,​A,​A,​A>> fromIterable​(java.lang.Iterable<A> as)
      Return just the first seven elements from the given Iterable, or nothing if there are less than seven elements.
      Tuple6<_1,​_2,​_3,​_4,​_5,​_6> init()
      Returns a Tuple6<_1, _2, _3, _4, _5, _6> of all the elements of this Tuple7<_1, _2, _3, _4, _5, _6, _7> except the last.
      Tuple7<_2,​_1,​_3,​_4,​_5,​_6,​_7> invert()
      Rotate the first two slots of this product.
      <_7Prime> Lazy<Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime>> lazyZip​(Lazy<? extends Applicative<Fn1<? super _7,​? extends _7Prime>,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>> lazyAppFn)
      Given a lazy instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.
      <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> pure​(_7Prime _7Prime)
      Lift the value b into this applicative functor.
      static <_1,​_2,​_3,​_4,​_5,​_6>
      Pure<Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>
      pureTuple​(_1 _1, _2 _2, _3 _3, _4 _4, _5 _5, _6 _6)
      The canonical Pure instance for Tuple7.
      Tuple7<_2,​_3,​_1,​_4,​_5,​_6,​_7> rotateL3()
      Rotate the first three values of this product one slot to the left.
      Tuple7<_2,​_3,​_4,​_1,​_5,​_6,​_7> rotateL4()
      Rotate the first four values of this product one slot to the left.
      Tuple7<_2,​_3,​_4,​_5,​_1,​_6,​_7> rotateL5()
      Rotate the first five values of this product one slot to the left.
      Tuple7<_2,​_3,​_4,​_5,​_6,​_1,​_7> rotateL6()
      Rotate the first six values of this product one slot to the left.
      Tuple7<_2,​_3,​_4,​_5,​_6,​_7,​_1> rotateL7()
      Rotate the first seven values of this product one slot to the left.
      Tuple7<_3,​_1,​_2,​_4,​_5,​_6,​_7> rotateR3()
      Rotate the first three values of this product one slot to the right.
      Tuple7<_4,​_1,​_2,​_3,​_5,​_6,​_7> rotateR4()
      Rotate the first four values of this product one slot to the right.
      Tuple7<_5,​_1,​_2,​_3,​_4,​_6,​_7> rotateR5()
      Rotate the first five values of this product one slot to the right.
      Tuple7<_6,​_1,​_2,​_3,​_4,​_5,​_7> rotateR6()
      Rotate the first six values of this product one slot to the right.
      Tuple7<_7,​_1,​_2,​_3,​_4,​_5,​_6> rotateR7()
      Rotate the first seven values of this product one slot to the right.
      <_8> Tuple8<_1,​_2,​_3,​_4,​_5,​_6,​_7,​_8> snoc​(_8 _8)
      Snoc an element onto the back of this Tuple7.
      <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> trampolineM​(Fn1<? super _7,​? extends MonadRec<RecursiveResult<_7,​_7Prime>,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>> fn)
      Given some operation yielding a RecursiveResult inside this MonadRec, internally trampoline the operation until it yields a termination instruction.
      <_7Prime,​App extends Applicative<?,​App>,​TravB extends Traversable<_7Prime,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>,​AppTrav extends Applicative<TravB,​App>>
      AppTrav
      traverse​(Fn1<? super _7,​? extends Applicative<_7Prime,​App>> fn, Fn1<? super TravB,​? extends AppTrav> pure)
      Apply fn to each element of this traversable from left to right, and collapse the results into a single resulting applicative, potentially with the assistance of the applicative's pure function.
      <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> zip​(Applicative<Fn1<? super _7,​? extends _7Prime>,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>> appFn)
      Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.jnape.palatable.lambda.functor.Functor

        coerce
      • Methods inherited from interface java.util.Map.Entry

        equals, hashCode
      • Methods inherited from interface com.jnape.palatable.lambda.adt.product.Product3

        into
      • Methods inherited from interface com.jnape.palatable.lambda.adt.product.Product4

        into
      • Methods inherited from interface com.jnape.palatable.lambda.adt.product.Product5

        into
      • Methods inherited from interface com.jnape.palatable.lambda.adt.product.Product6

        into
      • Methods inherited from interface com.jnape.palatable.lambda.adt.product.Product7

        into
    • Field Detail

      • _1

        private final _1 _1
      • _2

        private final _2 _2
      • _3

        private final _3 _3
      • _4

        private final _4 _4
      • _5

        private final _5 _5
      • _6

        private final _6 _6
      • _7

        private final _7 _7
    • Method Detail

      • cons

        public <_0> Tuple8<_0,​_1,​_2,​_3,​_4,​_5,​_6,​_7> cons​(_0 _0)
        Cons an element onto the front of this HList.
        Overrides:
        cons in class HList.HCons<_1,​Tuple6<_2,​_3,​_4,​_5,​_6,​_7>>
        Type Parameters:
        _0 - the new head type
        Parameters:
        _0 - the new head element
        Returns:
        the updated HList
      • snoc

        public <_8> Tuple8<_1,​_2,​_3,​_4,​_5,​_6,​_7,​_8> snoc​(_8 _8)
        Snoc an element onto the back of this Tuple7.
        Type Parameters:
        _8 - the new last element type
        Parameters:
        _8 - the new last element
        Returns:
        the new Tuple8
      • _1

        public _1 _1()
        Retrieve the first element.
        Specified by:
        _1 in interface Product2<_1,​_2>
        Returns:
        the first element
      • _2

        public _2 _2()
        Retrieve the second element.
        Specified by:
        _2 in interface Product2<_1,​_2>
        Returns:
        the second element
      • _3

        public _3 _3()
        Retrieve the third element.
        Specified by:
        _3 in interface Product3<_1,​_2,​_3>
        Returns:
        the third element
      • _4

        public _4 _4()
        Retrieve the fourth element.
        Specified by:
        _4 in interface Product4<_1,​_2,​_3,​_4>
        Returns:
        the fourth element
      • _5

        public _5 _5()
        Retrieve the fifth element.
        Specified by:
        _5 in interface Product5<_1,​_2,​_3,​_4,​_5>
        Returns:
        the fifth element
      • _6

        public _6 _6()
        Retrieve the sixth element.
        Specified by:
        _6 in interface Product6<_1,​_2,​_3,​_4,​_5,​_6>
        Returns:
        the sixth element
      • _7

        public _7 _7()
        Retrieve the seventh element.
        Specified by:
        _7 in interface Product7<_1,​_2,​_3,​_4,​_5,​_6,​_7>
        Returns:
        the seventh element
      • rotateL7

        public Tuple7<_2,​_3,​_4,​_5,​_6,​_7,​_1> rotateL7()
        Rotate the first seven values of this product one slot to the left.
        Specified by:
        rotateL7 in interface Product7<_1,​_2,​_3,​_4,​_5,​_6,​_7>
        Returns:
        the left-rotated product
      • rotateR7

        public Tuple7<_7,​_1,​_2,​_3,​_4,​_5,​_6> rotateR7()
        Rotate the first seven values of this product one slot to the right.
        Specified by:
        rotateR7 in interface Product7<_1,​_2,​_3,​_4,​_5,​_6,​_7>
        Returns:
        the right-rotated product
      • fmap

        public <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> fmap​(Fn1<? super _7,​? extends _7Prime> fn)
        Covariantly transmute this functor's parameter using the given mapping function. Generally this method is specialized to return an instance of the class implementing Functor.
        Specified by:
        fmap in interface Applicative<_1,​_2>
        Specified by:
        fmap in interface Functor<_1,​_2>
        Specified by:
        fmap in interface Monad<_1,​_2>
        Specified by:
        fmap in interface MonadRec<_1,​_2>
        Specified by:
        fmap in interface Traversable<_1,​_2>
        Type Parameters:
        _7Prime - the new parameter type
        Parameters:
        fn - the mapping function
        Returns:
        a functor over B (the new parameter type)
      • biMapL

        public <_6Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6Prime,​_7> biMapL​(Fn1<? super _6,​? extends _6Prime> fn)
        Covariantly map over the left parameter.
        Specified by:
        biMapL in interface Bifunctor<_1,​_2,​_3>
        Specified by:
        biMapL in interface BoundedBifunctor<_1,​_2,​_3,​_4,​_5>
        Type Parameters:
        _6Prime - the new left parameter type
        Parameters:
        fn - the mapping function
        Returns:
        a bifunctor over C (the new left parameter) and B (the same right parameter)
      • biMapR

        public <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> biMapR​(Fn1<? super _7,​? extends _7Prime> fn)
        Covariantly map over the right parameter. For all bifunctors that are also functors, it should hold that biMapR(f) == fmap(f).
        Specified by:
        biMapR in interface Bifunctor<_1,​_2,​_3>
        Specified by:
        biMapR in interface BoundedBifunctor<_1,​_2,​_3,​_4,​_5>
        Type Parameters:
        _7Prime - the new right parameter type
        Parameters:
        fn - the mapping function
        Returns:
        a bifunctor over A (the same left parameter) and C (the new right parameter)
      • biMap

        public <_6Prime,​_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6Prime,​_7Prime> biMap​(Fn1<? super _6,​? extends _6Prime> lFn,
                                                                                                                        Fn1<? super _7,​? extends _7Prime> rFn)
        Dually map covariantly over both the left and right parameters. This is isomorphic to biMapL(lFn).biMapR(rFn).
        Specified by:
        biMap in interface Bifunctor<_1,​_2,​_3>
        Specified by:
        biMap in interface BoundedBifunctor<_1,​_2,​_3,​_4,​_5>
        Type Parameters:
        _6Prime - the new left parameter type
        _7Prime - the new right parameter type
        Parameters:
        lFn - the left parameter mapping function
        rFn - the right parameter mapping function
        Returns:
        a bifunctor over C (the new left parameter type) and D (the new right parameter type)
      • pure

        public <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> pure​(_7Prime _7Prime)
        Lift the value b into this applicative functor.
        Specified by:
        pure in interface Applicative<_1,​_2>
        Specified by:
        pure in interface Monad<_1,​_2>
        Specified by:
        pure in interface MonadRec<_1,​_2>
        Type Parameters:
        _7Prime - the type of the returned applicative's parameter
        Parameters:
        _7Prime - the value
        Returns:
        an instance of this applicative over b
      • zip

        public <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> zip​(Applicative<Fn1<? super _7,​? extends _7Prime>,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>> appFn)
        Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.
        Specified by:
        zip in interface Applicative<_1,​_2>
        Specified by:
        zip in interface Monad<_1,​_2>
        Specified by:
        zip in interface MonadRec<_1,​_2>
        Type Parameters:
        _7Prime - the resulting applicative parameter type
        Parameters:
        appFn - the other applicative instance
        Returns:
        the mapped applicative
      • lazyZip

        public <_7Prime> Lazy<Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime>> lazyZip​(Lazy<? extends Applicative<Fn1<? super _7,​? extends _7Prime>,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>> lazyAppFn)
        Given a lazy instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports. This is useful for applicatives that support lazy evaluation and early termination.
        Specified by:
        lazyZip in interface Applicative<_1,​_2>
        Specified by:
        lazyZip in interface Monad<_1,​_2>
        Specified by:
        lazyZip in interface MonadRec<_1,​_2>
        Type Parameters:
        _7Prime - the resulting applicative parameter type
        Parameters:
        lazyAppFn - the lazy other applicative instance
        Returns:
        the mapped applicative
        See Also:
        Maybe, Either
      • discardL

        public <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> discardL​(Applicative<_7Prime,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>> appB)
        Sequence both this Applicative and appB, discarding this Applicative's result and returning appB. This is generally useful for sequentially performing side-effects.
        Specified by:
        discardL in interface Applicative<_1,​_2>
        Specified by:
        discardL in interface Monad<_1,​_2>
        Specified by:
        discardL in interface MonadRec<_1,​_2>
        Type Parameters:
        _7Prime - the type of the returned Applicative's parameter
        Parameters:
        appB - the other Applicative
        Returns:
        appB
      • discardR

        public <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7> discardR​(Applicative<_7Prime,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>> appB)
        Sequence both this Applicative and appB, discarding appB's result and returning this Applicative. This is generally useful for sequentially performing side-effects.
        Specified by:
        discardR in interface Applicative<_1,​_2>
        Specified by:
        discardR in interface Monad<_1,​_2>
        Specified by:
        discardR in interface MonadRec<_1,​_2>
        Type Parameters:
        _7Prime - the type of appB's parameter
        Parameters:
        appB - the other Applicative
        Returns:
        this Applicative
      • flatMap

        public <_7Prime> Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​_7Prime> flatMap​(Fn1<? super _7,​? extends Monad<_7Prime,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>> f)
        Chain dependent computations that may continue or short-circuit based on previous results.
        Specified by:
        flatMap in interface Monad<_1,​_2>
        Specified by:
        flatMap in interface MonadRec<_1,​_2>
        Type Parameters:
        _7Prime - the resulting monad parameter type
        Parameters:
        f - the dependent computation over A
        Returns:
        the new monad instance
      • traverse

        public <_7Prime,​App extends Applicative<?,​App>,​TravB extends Traversable<_7Prime,​Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>>,​AppTrav extends Applicative<TravB,​App>> AppTrav traverse​(Fn1<? super _7,​? extends Applicative<_7Prime,​App>> fn,
                                                                                                                                                                                                                                                       Fn1<? super TravB,​? extends AppTrav> pure)
        Apply fn to each element of this traversable from left to right, and collapse the results into a single resulting applicative, potentially with the assistance of the applicative's pure function.
        Specified by:
        traverse in interface Traversable<_1,​_2>
        Type Parameters:
        _7Prime - the resulting element type
        App - the result applicative type
        TravB - this Traversable instance over B
        AppTrav - the full inferred resulting type from the traversal
        Parameters:
        fn - the function to apply
        pure - the applicative pure function
        Returns:
        the traversed Traversable, wrapped inside an applicative
      • init

        public Tuple6<_1,​_2,​_3,​_4,​_5,​_6> init()
        Returns a Tuple6<_1, _2, _3, _4, _5, _6> of all the elements of this Tuple7<_1, _2, _3, _4, _5, _6, _7> except the last.
        Returns:
        The Tuple6<_1, _2, _3, _4, _5, _6> representing all but the last element
      • fill

        public static <A> Tuple7<A,​A,​A,​A,​A,​A,​A> fill​(A a)
        Given a value of type A, produced an instance of this tuple with each slot set to that value.
        Type Parameters:
        A - the value type
        Parameters:
        a - the value to fill the tuple with
        Returns:
        the filled tuple
        See Also:
        Tuple2.fill(A)
      • fromIterable

        public static <A> Maybe<Tuple7<A,​A,​A,​A,​A,​A,​A>> fromIterable​(java.lang.Iterable<A> as)
        Return just the first seven elements from the given Iterable, or nothing if there are less than seven elements.
        Type Parameters:
        A - the Iterable element type
        Parameters:
        as - the Iterable
        Returns:
        Maybe the first seven elements of the given Iterable
      • pureTuple

        public static <_1,​_2,​_3,​_4,​_5,​_6> Pure<Tuple7<_1,​_2,​_3,​_4,​_5,​_6,​?>> pureTuple​(_1 _1,
                                                                                                                                                        _2 _2,
                                                                                                                                                        _3 _3,
                                                                                                                                                        _4 _4,
                                                                                                                                                        _5 _5,
                                                                                                                                                        _6 _6)
        The canonical Pure instance for Tuple7.
        Type Parameters:
        _1 - the head element type
        _2 - the second element type
        _3 - the third element type
        _4 - the fourth element type
        _5 - the fifth element type
        _6 - the sixth element type
        Parameters:
        _1 - the head element
        _2 - the second element
        _3 - the third element
        _4 - the fourth element
        _5 - the fifth element
        _6 - the sixth element
        Returns:
        the Pure instance