Package fj
Class P4<A,B,C,D>
- java.lang.Object
-
- fj.P4<A,B,C,D>
-
public abstract class P4<A,B,C,D> extends java.lang.Object
A product-4.
-
-
Constructor Summary
Constructors Constructor Description P4()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static <A,B,C,D>
F<P4<A,B,C,D>,A>__1()
Returns a function that returns the first element of a product.static <A,B,C,D>
F<P4<A,B,C,D>,B>__2()
Returns a function that returns the second element of a product.static <A,B,C,D>
F<P4<A,B,C,D>,C>__3()
Returns a function that returns the third element of a product.static <A,B,C,D>
F<P4<A,B,C,D>,D>__4()
Returns a function that returns the fourth element of a product.abstract A
_1()
Access the first element of the product.P1<A>
_1_()
Returns the 1-product projection over the first element.abstract B
_2()
Access the second element of the product.P1<B>
_2_()
Returns the 1-product projection over the second element.abstract C
_3()
Access the third element of the product.P1<C>
_3_()
Returns the 1-product projection over the third element.abstract D
_4()
Access the fourth element of the product.P1<D>
_4_()
Returns the 1-product projection over the fourth element.<E> P5<A,B,C,D,E>
append(E el)
<E,F>
P6<A,B,C,D,E,F>append(P2<E,F> el)
<E,F,G>
P7<A,B,C,D,E,F,G>append(P3<E,F,G> el)
<E,F,G,H>
P8<A,B,C,D,E,F,G,H>append(P4<E,F,G,H> el)
boolean
equals(java.lang.Object other)
int
hashCode()
<X> P4<X,B,C,D>
map1(F<A,X> f)
Map the first element of the product.<X> P4<A,X,C,D>
map2(F<B,X> f)
Map the second element of the product.<X> P4<A,B,X,D>
map3(F<C,X> f)
Map the third element of the product.<X> P4<A,B,C,X>
map4(F<D,X> f)
Map the fourth element of the product.P4<A,B,C,D>
memo()
Provides a memoising P4 that remembers its values.java.lang.String
toString()
-
-
-
Method Detail
-
_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.
-
map1
public final <X> P4<X,B,C,D> 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> P4<A,X,C,D> 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> P4<A,B,X,D> 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> P4<A,B,C,X> 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.
-
_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.
-
memo
public final P4<A,B,C,D> memo()
Provides a memoising P4 that remembers its values.- Returns:
- A P4 that calls this P4 once for any given element and remembers the value for subsequent calls.
-
__1
public static <A,B,C,D> F<P4<A,B,C,D>,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> F<P4<A,B,C,D>,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> F<P4<A,B,C,D>,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> F<P4<A,B,C,D>,D> __4()
Returns a function that returns the fourth element of a product.- Returns:
- A function that returns the fourth element of a product.
-
toString
public final java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public final boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-