Copyright 2008 - 2010 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg

This software is released under an open source BSD licence.

fj
Class P6<A,B,C,D,E,F>

java.lang.Object
  extended by fj.P6<A,B,C,D,E,F>

public abstract class P6<A,B,C,D,E,F>
extends Object

A product-6.


Constructor Summary
P6()
           
 
Method Summary
static
<A,B,C,D,E,F$>
F<P6<A,B,C,D,E,F$>,A>
__1()
          Returns a function that returns the first element of a product.
static
<A,B,C,D,E,F$>
F<P6<A,B,C,D,E,F$>,B>
__2()
          Returns a function that returns the second element of a product.
static
<A,B,C,D,E,F$>
F<P6<A,B,C,D,E,F$>,C>
__3()
          Returns a function that returns the third element of a product.
static
<A,B,C,D,E,F$>
F<P6<A,B,C,D,E,F$>,D>
__4()
          Returns a function that returns the fourth element of a product.
static
<A,B,C,D,E,F$>
F<P6<A,B,C,D,E,F$>,E>
__5()
          Returns a function that returns the fifth element of a product.
static
<A,B,C,D,E,F$>
F<P6<A,B,C,D,E,F$>,F$>
__6()
          Returns a function that returns the sixth element of a product.
 P1<A> _1_()
          Returns the 1-product projection over the first element.
abstract  A _1()
          Access the first element of the product.
 P1<B> _2_()
          Returns the 1-product projection over the second element.
abstract  B _2()
          Access the second element of the product.
 P1<C> _3_()
          Returns the 1-product projection over the third element.
abstract  C _3()
          Access the third element of the product.
 P1<D> _4_()
          Returns the 1-product projection over the fourth element.
abstract  D _4()
          Access the fourth element of the product.
 P1<E> _5_()
          Returns the 1-product projection over the fifth element.
abstract  E _5()
          Access the fifth element of the product.
 P1<F> _6_()
          Returns the 1-product projection over the sixth element.
abstract  F _6()
          Access the sixth element of the product.
<X> P6<X,B,C,D,E,F>
map1(F<A,X> f)
          Map the first element of the product.
<X> P6<A,X,C,D,E,F>
map2(F<B,X> f)
          Map the second element of the product.
<X> P6<A,B,X,D,E,F>
map3(F<C,X> f)
          Map the third element of the product.
<X> P6<A,B,C,X,E,F>
map4(F<D,X> f)
          Map the fourth element of the product.
<X> P6<A,B,C,D,X,F>
map5(F<E,X> f)
          Map the fifth element of the product.
<X> P6<A,B,C,D,E,X>
map6(F<F,X> f)
          Map the sixth element of the product.
 P6<A,B,C,D,E,F> memo()
          Provides a memoising P6 that remembers its values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

P6

public P6()
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.

_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.

map1

public <X> P6<X,B,C,D,E,F> 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 <X> P6<A,X,C,D,E,F> 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 <X> P6<A,B,X,D,E,F> 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 <X> P6<A,B,C,X,E,F> 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 <X> P6<A,B,C,D,X,F> 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 <X> P6<A,B,C,D,E,X> 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.

_1_

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

Returns:
the 1-product projection over the first element.

_2_

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

Returns:
the 1-product projection over the second element.

_3_

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

Returns:
the 1-product projection over the third element.

_4_

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

Returns:
the 1-product projection over the fourth element.

_5_

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

Returns:
the 1-product projection over the fifth element.

_6_

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

Returns:
the 1-product projection over the sixth element.

memo

public P6<A,B,C,D,E,F> memo()
Provides a memoising P6 that remembers its values.

Returns:
A P6 that calls this P6 once for any given element and remembers the value for subsequent calls.

__1

public static <A,B,C,D,E,F$> F<P6<A,B,C,D,E,F$>,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$> F<P6<A,B,C,D,E,F$>,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$> F<P6<A,B,C,D,E,F$>,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$> F<P6<A,B,C,D,E,F$>,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$> F<P6<A,B,C,D,E,F$>,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$> F<P6<A,B,C,D,E,F$>,F$> __6()
Returns a function that returns the sixth element of a product.

Returns:
A function that returns the sixth element of a product.

Copyright 2008 - 2010 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg

This software is released under an open source BSD licence.