Package fj

Class P8<A,B,C,D,E,F,G,H>

java.lang.Object
fj.P8<A,B,C,D,E,F,G,H>

public abstract class P8<A,B,C,D,E,F,G,H> extends Object
A product-8.
  • Constructor Summary

    Constructors
    Constructor
    Description
    P8()
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <A, B, C, D, E, F$, G, H>
    F<P8<A,B,C,D,E,F$,G,H>,A>
    __1()
    Returns a function that returns the first element of a product.
    static <A, B, C, D, E, F$, G, H>
    F<P8<A,B,C,D,E,F$,G,H>,B>
    __2()
    Returns a function that returns the second element of a product.
    static <A, B, C, D, E, F$, G, H>
    F<P8<A,B,C,D,E,F$,G,H>,C>
    __3()
    Returns a function that returns the third element of a product.
    static <A, B, C, D, E, F$, G, H>
    F<P8<A,B,C,D,E,F$,G,H>,D>
    __4()
    Returns a function that returns the fourth element of a product.
    static <A, B, C, D, E, F$, G, H>
    F<P8<A,B,C,D,E,F$,G,H>,E>
    __5()
    Returns a function that returns the fifth element of a product.
    static <A, B, C, D, E, F$, G, H>
    F<P8<A,B,C,D,E,F$,G,H>,F$>
    __6()
    Returns a function that returns the sixth element of a product.
    static <A, B, C, D, E, F$, G, H>
    F<P8<A,B,C,D,E,F$,G,H>,G>
    __7()
    Returns a function that returns the seventh element of a product.
    static <A, B, C, D, E, F$, G, H>
    F<P8<A,B,C,D,E,F$,G,H>,H>
    __8()
    Returns a function that returns the eighth element of a product.
    abstract A
    _1()
    Access the first element of the product.
    final P1<A>
    _1_()
    Returns the 1-product projection over the first element.
    abstract B
    _2()
    Access the second element of the product.
    final P1<B>
    _2_()
    Returns the 1-product projection over the second element.
    abstract C
    _3()
    Access the third element of the product.
    final P1<C>
    _3_()
    Returns the 1-product projection over the third element.
    abstract D
    _4()
    Access the fourth element of the product.
    final P1<D>
    _4_()
    Returns the 1-product projection over the fourth element.
    abstract E
    _5()
    Access the fifth element of the product.
    final P1<E>
    _5_()
    Returns the 1-product projection over the fifth element.
    abstract F
    _6()
    Access the sixth element of the product.
    final P1<F>
    _6_()
    Returns the 1-product projection over the sixth element.
    abstract G
    _7()
    Access the seventh element of the product.
    final P1<G>
    _7_()
    Returns the 1-product projection over the seventh element.
    abstract H
    _8()
    Access the eighth element of the product.
    final P1<H>
    _8_()
    Returns the 1-product projection over the eighth element.
    final boolean
    equals(Object other)
     
    final int
     
    final <X> P8<X,B,C,D,E,F,G,H>
    map1(F<A,X> f)
    Map the first element of the product.
    final <X> P8<A,X,C,D,E,F,G,H>
    map2(F<B,X> f)
    Map the second element of the product.
    final <X> P8<A,B,X,D,E,F,G,H>
    map3(F<C,X> f)
    Map the third element of the product.
    final <X> P8<A,B,C,X,E,F,G,H>
    map4(F<D,X> f)
    Map the fourth element of the product.
    final <X> P8<A,B,C,D,X,F,G,H>
    map5(F<E,X> f)
    Map the fifth element of the product.
    final <X> P8<A,B,C,D,E,X,G,H>
    map6(F<F,X> f)
    Map the sixth element of the product.
    final <X> P8<A,B,C,D,E,F,X,H>
    map7(F<G,X> f)
    Map the seventh element of the product.
    final <X> P8<A,B,C,D,E,F,G,X>
    map8(F<H,X> f)
    Map the eighth element of the product.
    final P8<A,B,C,D,E,F,G,H>
    Provides a memoising P8 that remembers its values.
    final String
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • P8

      public P8()
  • Method Details

    • _1

      public abstract A _1()
      Access the first element of the product.
      Returns:
      The first element of the product.
    • _2

      public abstract B _2()
      Access the second element of the product.
      Returns:
      The second element of the product.
    • _3

      public abstract C _3()
      Access the third element of the product.
      Returns:
      The third element of the product.
    • _4

      public abstract D _4()
      Access the fourth element of the product.
      Returns:
      The fourth element of the product.
    • _5

      public abstract E _5()
      Access the fifth element of the product.
      Returns:
      The fifth element of the product.
    • _6

      public abstract F _6()
      Access the sixth element of the product.
      Returns:
      The sixth element of the product.
    • _7

      public abstract G _7()
      Access the seventh element of the product.
      Returns:
      The seventh element of the product.
    • _8

      public abstract H _8()
      Access the eighth element of the product.
      Returns:
      The eighth element of the product.
    • map1

      public final <X> P8<X,B,C,D,E,F,G,H> map1(F<A,X> f)
      Map the first element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map2

      public final <X> P8<A,X,C,D,E,F,G,H> map2(F<B,X> f)
      Map the second element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map3

      public final <X> P8<A,B,X,D,E,F,G,H> map3(F<C,X> f)
      Map the third element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map4

      public final <X> P8<A,B,C,X,E,F,G,H> map4(F<D,X> f)
      Map the fourth element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map5

      public final <X> P8<A,B,C,D,X,F,G,H> map5(F<E,X> f)
      Map the fifth element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map6

      public final <X> P8<A,B,C,D,E,X,G,H> map6(F<F,X> f)
      Map the sixth element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map7

      public final <X> P8<A,B,C,D,E,F,X,H> map7(F<G,X> f)
      Map the seventh element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map8

      public final <X> P8<A,B,C,D,E,F,G,X> map8(F<H,X> f)
      Map the eighth element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • _1_

      public final P1<A> _1_()
      Returns the 1-product projection over the first element.
      Returns:
      the 1-product projection over the first element.
    • _2_

      public final P1<B> _2_()
      Returns the 1-product projection over the second element.
      Returns:
      the 1-product projection over the second element.
    • _3_

      public final P1<C> _3_()
      Returns the 1-product projection over the third element.
      Returns:
      the 1-product projection over the third element.
    • _4_

      public final P1<D> _4_()
      Returns the 1-product projection over the fourth element.
      Returns:
      the 1-product projection over the fourth element.
    • _5_

      public final P1<E> _5_()
      Returns the 1-product projection over the fifth element.
      Returns:
      the 1-product projection over the fifth element.
    • _6_

      public final P1<F> _6_()
      Returns the 1-product projection over the sixth element.
      Returns:
      the 1-product projection over the sixth element.
    • _7_

      public final P1<G> _7_()
      Returns the 1-product projection over the seventh element.
      Returns:
      the 1-product projection over the seventh element.
    • _8_

      public final P1<H> _8_()
      Returns the 1-product projection over the eighth element.
      Returns:
      the 1-product projection over the eighth element.
    • memo

      public final P8<A,B,C,D,E,F,G,H> memo()
      Provides a memoising P8 that remembers its values.
      Returns:
      A P8 that calls this P8 once for any given element and remembers the value for subsequent calls.
    • __1

      public static <A, B, C, D, E, F$, G, H> F<P8<A,B,C,D,E,F$,G,H>,A> __1()
      Returns a function that returns the first element of a product.
      Returns:
      A function that returns the first element of a product.
    • __2

      public static <A, B, C, D, E, F$, G, H> F<P8<A,B,C,D,E,F$,G,H>,B> __2()
      Returns a function that returns the second element of a product.
      Returns:
      A function that returns the second element of a product.
    • __3

      public static <A, B, C, D, E, F$, G, H> F<P8<A,B,C,D,E,F$,G,H>,C> __3()
      Returns a function that returns the third element of a product.
      Returns:
      A function that returns the third element of a product.
    • __4

      public static <A, B, C, D, E, F$, G, H> F<P8<A,B,C,D,E,F$,G,H>,D> __4()
      Returns a function that returns the fourth element of a product.
      Returns:
      A function that returns the fourth element of a product.
    • __5

      public static <A, B, C, D, E, F$, G, H> F<P8<A,B,C,D,E,F$,G,H>,E> __5()
      Returns a function that returns the fifth element of a product.
      Returns:
      A function that returns the fifth element of a product.
    • __6

      public static <A, B, C, D, E, F$, G, H> F<P8<A,B,C,D,E,F$,G,H>,F$> __6()
      Returns a function that returns the sixth element of a product.
      Returns:
      A function that returns the sixth element of a product.
    • __7

      public static <A, B, C, D, E, F$, G, H> F<P8<A,B,C,D,E,F$,G,H>,G> __7()
      Returns a function that returns the seventh element of a product.
      Returns:
      A function that returns the seventh element of a product.
    • __8

      public static <A, B, C, D, E, F$, G, H> F<P8<A,B,C,D,E,F$,G,H>,H> __8()
      Returns a function that returns the eighth element of a product.
      Returns:
      A function that returns the eighth element of a product.
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • equals

      public final boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object