Copyright Workingmouse Pty. Ltd. 2007, 2008

This software is released under an open source BSD licence.

fj
Class Function

java.lang.Object
  extended by fj.Function

public final class Function
extends Object

Transformations on functions.

Version:
2.7

Method Summary
static
<A,B,C> F<F<A,B>,F<F<B,C>,F<A,C>>>
andThen()
          Function composition flipped.
static
<A,B,C> F<A,C>
andThen(F<A,B> g, F<B,C> f)
          Function composition flipped.
static
<A,B,C> F<F<B,C>,F<F<A,B>,F<A,C>>>
compose()
          Function composition.
static
<A,B,C> F<A,C>
compose(F<B,C> f, F<A,B> g)
          Function composition.
static
<A,B> F<B,F<A,B>>
constant()
          Returns a function that given an argument, returns a function that ignores its argument.
static
<A,B> F<A,B>
constant(B b)
          Returns a function that ignores its argument to constantly produce the given value.
static
<A,B,C> F<A,F<B,C>>
curry(F2<A,B,C> f)
          Curry a function of arity-2.
static
<A,B,C> F<B,C>
curry(F2<A,B,C> f, A a)
          Curry a function of arity-2.
static
<A,B,C,D> F<A,F<B,F<C,D>>>
curry(F3<A,B,C,D> f)
          Curry a function of arity-3.
static
<A,B,C,D> F<B,F<C,D>>
curry(F3<A,B,C,D> f, A a)
          Curry a function of arity-3.
static
<A,B,C,D> F<C,D>
curry(F3<A,B,C,D> f, A a, B b)
          Curry a function of arity-3.
static
<A,B,C,D,E>
F<A,F<B,F<C,F<D,E>>>>
curry(F4<A,B,C,D,E> f)
          Curry a function of arity-4.
static
<A,B,C,D,E>
F<B,F<C,F<D,E>>>
curry(F4<A,B,C,D,E> f, A a)
          Curry a function of arity-4.
static
<A,B,C,D,E>
F<C,F<D,E>>
curry(F4<A,B,C,D,E> f, A a, B b)
          Curry a function of arity-4.
static
<A,B,C,D,E>
F<D,E>
curry(F4<A,B,C,D,E> f, A a, B b, C c)
          Curry a function of arity-4.
static
<A,B,C,D,E,F$>
F<A,F<B,F<C,F<D,F<E,F$>>>>>
curry(F5<A,B,C,D,E,F$> f)
          Curry a function of arity-5.
static
<A,B,C,D,E,F$>
F<B,F<C,F<D,F<E,F$>>>>
curry(F5<A,B,C,D,E,F$> f, A a)
          Curry a function of arity-5.
static
<A,B,C,D,E,F$>
F<C,F<D,F<E,F$>>>
curry(F5<A,B,C,D,E,F$> f, A a, B b)
          Curry a function of arity-5.
static
<A,B,C,D,E,F$>
F<D,F<E,F$>>
curry(F5<A,B,C,D,E,F$> f, A a, B b, C c)
          Curry a function of arity-5.
static
<A,B,C,D,E,F$>
F<E,F$>
curry(F5<A,B,C,D,E,F$> f, A a, B b, C c, D d)
          Curry a function of arity-5.
static
<A,B,C,D,E,F$,G>
F<A,F<B,F<C,F<D,F<E,F<F$,G>>>>>>
curry(F6<A,B,C,D,E,F$,G> f)
          Curry a function of arity-6.
static
<A,B,C,D,E,F$,G,H>
F<A,F<B,F<C,F<D,F<E,F<F$,F<G,H>>>>>>>
curry(F7<A,B,C,D,E,F$,G,H> f)
          Curry a function of arity-7.
static
<A,B,C,D,E,F$,G,H>
F<B,F<C,F<D,F<E,F<F$,F<G,H>>>>>>
curry(F7<A,B,C,D,E,F$,G,H> f, A a)
          Curry a function of arity-7.
static
<A,B,C,D,E,F$,G,H>
F<C,F<D,F<E,F<F$,F<G,H>>>>>
curry(F7<A,B,C,D,E,F$,G,H> f, A a, B b)
          Curry a function of arity-7.
static
<A,B,C,D,E,F$,G,H>
F<D,F<E,F<F$,F<G,H>>>>
curry(F7<A,B,C,D,E,F$,G,H> f, A a, B b, C c)
          Curry a function of arity-7.
static
<A,B,C,D,E,F$,G,H>
F<E,F<F$,F<G,H>>>
curry(F7<A,B,C,D,E,F$,G,H> f, A a, B b, C c, D d)
          Curry a function of arity-7.
static
<A,B,C,D,E,F$,G,H>
F<F$,F<G,H>>
curry(F7<A,B,C,D,E,F$,G,H> f, A a, B b, C c, D d, E e)
          Curry a function of arity-7.
static
<A,B,C,D,E,F$,G,H>
F<G,H>
curry(F7<A,B,C,D,E,F$,G,H> f, A a, B b, C c, D d, E e, F$ f$)
          Curry a function of arity-7.
static
<A,B,C,D,E,F$,G,H,I>
F<A,F<B,F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>>>>
curry(F8<A,B,C,D,E,F$,G,H,I> f)
          Curry a function of arity-8.
static
<A,B,C,D,E,F$,G,H,I>
F<B,F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>>>
curry(F8<A,B,C,D,E,F$,G,H,I> f, A a)
          Curry a function of arity-8.
static
<A,B,C,D,E,F$,G,H,I>
F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>>
curry(F8<A,B,C,D,E,F$,G,H,I> f, A a, B b)
          Curry a function of arity-8.
static
<A,B,C,D,E,F$,G,H,I>
F<D,F<E,F<F$,F<G,F<H,I>>>>>
curry(F8<A,B,C,D,E,F$,G,H,I> f, A a, B b, C c)
          Curry a function of arity-8.
static
<A,B,C,D,E,F$,G,H,I>
F<E,F<F$,F<G,F<H,I>>>>
curry(F8<A,B,C,D,E,F$,G,H,I> f, A a, B b, C c, D d)
          Curry a function of arity-8.
static
<A,B,C,D,E,F$,G,H,I>
F<F$,F<G,F<H,I>>>
curry(F8<A,B,C,D,E,F$,G,H,I> f, A a, B b, C c, D d, E e)
          Curry a function of arity-8.
static
<A,B,C,D,E,F$,G,H,I>
F<G,F<H,I>>
curry(F8<A,B,C,D,E,F$,G,H,I> f, A a, B b, C c, D d, E e, F$ f$)
          Curry a function of arity-8.
static
<A,B,C,D,E,F$,G,H,I>
F<H,I>
curry(F8<A,B,C,D,E,F$,G,H,I> f, A a, B b, C c, D d, E e, F$ f$, G g)
          Curry a function of arity-7.
static
<A,B,C> F<F<A,F<B,C>>,F<B,F<A,C>>>
flip()
          Function argument flipping.
static
<A,B,C> F<B,F<A,C>>
flip(F<A,F<B,C>> f)
          Function argument flipping.
static
<A> F<A,A>
identity()
          The identity transformation.
static
<A,B,C> F<F<A,F<B,C>>,F2<A,B,C>>
uncurryF2()
          Uncurry a function of arity-2.
static
<A,B,C> F2<A,B,C>
uncurryF2(F<A,F<B,C>> f)
          Uncurry a function of arity-2.
static
<A,B,C,D> F<F<A,F<B,F<C,D>>>,F3<A,B,C,D>>
uncurryF3()
          Uncurry a function of arity-3.
static
<A,B,C,D> F3<A,B,C,D>
uncurryF3(F<A,F<B,F<C,D>>> f)
          Uncurry a function of arity-3.
static
<A,B,C,D,E>
F<F<A,F<B,F<C,F<D,E>>>>,F4<A,B,C,D,E>>
uncurryF4()
          Uncurry a function of arity-4.
static
<A,B,C,D,E>
F4<A,B,C,D,E>
uncurryF4(F<A,F<B,F<C,F<D,E>>>> f)
          Uncurry a function of arity-4.
static
<A,B,C,D,E,F$>
F<F<A,F<B,F<C,F<D,F<E,F$>>>>>,F5<A,B,C,D,E,F$>>
uncurryF5()
          Uncurry a function of arity-5.
static
<A,B,C,D,E,F$>
F5<A,B,C,D,E,F$>
uncurryF5(F<A,F<B,F<C,F<D,F<E,F$>>>>> f)
          Uncurry a function of arity-6.
static
<A,B,C,D,E,F$,G>
F<F<A,F<B,F<C,F<D,F<E,F<F$,G>>>>>>,F6<A,B,C,D,E,F$,G>>
uncurryF6()
          Uncurry a function of arity-6.
static
<A,B,C,D,E,F$,G>
F6<A,B,C,D,E,F$,G>
uncurryF6(F<A,F<B,F<C,F<D,F<E,F<F$,G>>>>>> f)
          Uncurry a function of arity-6.
static
<A,B,C,D,E,F$,G,H>
F<F<A,F<B,F<C,F<D,F<E,F<F$,F<G,H>>>>>>>,F7<A,B,C,D,E,F$,G,H>>
uncurryF7()
          Uncurry a function of arity-7.
static
<A,B,C,D,E,F$,G,H>
F7<A,B,C,D,E,F$,G,H>
uncurryF7(F<A,F<B,F<C,F<D,F<E,F<F$,F<G,H>>>>>>> f)
          Uncurry a function of arity-7.
static
<A,B,C,D,E,F$,G,H,I>
F<F<A,F<B,F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>>>>,F8<A,B,C,D,E,F$,G,H,I>>
uncurryF8()
          Uncurry a function of arity-8.
static
<A,B,C,D,E,F$,G,H,I>
F8<A,B,C,D,E,F$,G,H,I>
uncurryF8(F<A,F<B,F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>>>> f)
          Uncurry a function of arity-8.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

compose

public static <A,B,C> F<F<B,C>,F<F<A,B>,F<A,C>>> compose()
Function composition.

Returns:
A function that composes two functions to produce a new function.

compose

public static <A,B,C> F<A,C> compose(F<B,C> f,
                                     F<A,B> g)
Function composition.

Parameters:
f - A function to compose with another.
g - A function to compose with another.
Returns:
A function that is the composition of the given arguments.

andThen

public static <A,B,C> F<F<A,B>,F<F<B,C>,F<A,C>>> andThen()
Function composition flipped.

Returns:
A function that composes two functions to produce a new function.

andThen

public static <A,B,C> F<A,C> andThen(F<A,B> g,
                                     F<B,C> f)
Function composition flipped.

Parameters:
g - A function to compose with another.
f - A function to compose with another.
Returns:
A function that is the composition of the given arguments.

identity

public static <A> F<A,A> identity()
The identity transformation.

Returns:
The identity transformation.

constant

public static <A,B> F<B,F<A,B>> constant()
Returns a function that given an argument, returns a function that ignores its argument.

Returns:
A function that given an argument, returns a function that ignores its argument.

constant

public static <A,B> F<A,B> constant(B b)
Returns a function that ignores its argument to constantly produce the given value.

Parameters:
b - The value to return when the returned function is applied.
Returns:
A function that ignores its argument to constantly produce the given value.

flip

public static <A,B,C> F<F<A,F<B,C>>,F<B,F<A,C>>> flip()
Function argument flipping.

Returns:
A function that takes a function and flips its arguments.

flip

public static <A,B,C> F<B,F<A,C>> flip(F<A,F<B,C>> f)
Function argument flipping.

Parameters:
f - The function to flip.
Returns:
The given function flipped.

curry

public static <A,B,C> F<A,F<B,C>> curry(F2<A,B,C> f)
Curry a function of arity-2.

Parameters:
f - The function to curry.
Returns:
A curried form of the given function.

curry

public static <A,B,C> F<B,C> curry(F2<A,B,C> f,
                                   A a)
Curry a function of arity-2.

Parameters:
f - The function to curry.
a - An argument to the curried function.
Returns:
A curried form of the given function.

uncurryF2

public static <A,B,C> F<F<A,F<B,C>>,F2<A,B,C>> uncurryF2()
Uncurry a function of arity-2.

Returns:
An uncurried function.

uncurryF2

public static <A,B,C> F2<A,B,C> uncurryF2(F<A,F<B,C>> f)
Uncurry a function of arity-2.

Parameters:
f - The function to uncurry.
Returns:
An uncurried function.

curry

public static <A,B,C,D> F<A,F<B,F<C,D>>> curry(F3<A,B,C,D> f)
Curry a function of arity-3.

Parameters:
f - The function to curry.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D> F<B,F<C,D>> curry(F3<A,B,C,D> f,
                                          A a)
Curry a function of arity-3.

Parameters:
f - The function to curry.
a - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D> F<C,D> curry(F3<A,B,C,D> f,
                                     A a,
                                     B b)
Curry a function of arity-3.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
Returns:
A curried form of the given function.

uncurryF3

public static <A,B,C,D> F<F<A,F<B,F<C,D>>>,F3<A,B,C,D>> uncurryF3()
Uncurry a function of arity-3.

Returns:
An uncurried function.

uncurryF3

public static <A,B,C,D> F3<A,B,C,D> uncurryF3(F<A,F<B,F<C,D>>> f)
Uncurry a function of arity-3.

Parameters:
f - The function to uncurry.
Returns:
An uncurried function.

curry

public static <A,B,C,D,E> F<A,F<B,F<C,F<D,E>>>> curry(F4<A,B,C,D,E> f)
Curry a function of arity-4.

Parameters:
f - The function to curry.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E> F<B,F<C,F<D,E>>> curry(F4<A,B,C,D,E> f,
                                                 A a)
Curry a function of arity-4.

Parameters:
f - The function to curry.
a - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E> F<C,F<D,E>> curry(F4<A,B,C,D,E> f,
                                            A a,
                                            B b)
Curry a function of arity-4.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E> F<D,E> curry(F4<A,B,C,D,E> f,
                                       A a,
                                       B b,
                                       C c)
Curry a function of arity-4.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
Returns:
A curried form of the given function.

uncurryF4

public static <A,B,C,D,E> F<F<A,F<B,F<C,F<D,E>>>>,F4<A,B,C,D,E>> uncurryF4()
Uncurry a function of arity-4.

Returns:
An uncurried function.

uncurryF4

public static <A,B,C,D,E> F4<A,B,C,D,E> uncurryF4(F<A,F<B,F<C,F<D,E>>>> f)
Uncurry a function of arity-4.

Parameters:
f - The function to uncurry.
Returns:
An uncurried function.

curry

public static <A,B,C,D,E,F$> F<A,F<B,F<C,F<D,F<E,F$>>>>> curry(F5<A,B,C,D,E,F$> f)
Curry a function of arity-5.

Parameters:
f - The function to curry.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$> F<B,F<C,F<D,F<E,F$>>>> curry(F5<A,B,C,D,E,F$> f,
                                                          A a)
Curry a function of arity-5.

Parameters:
f - The function to curry.
a - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$> F<C,F<D,F<E,F$>>> curry(F5<A,B,C,D,E,F$> f,
                                                     A a,
                                                     B b)
Curry a function of arity-5.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$> F<D,F<E,F$>> curry(F5<A,B,C,D,E,F$> f,
                                                A a,
                                                B b,
                                                C c)
Curry a function of arity-5.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$> F<E,F$> curry(F5<A,B,C,D,E,F$> f,
                                           A a,
                                           B b,
                                           C c,
                                           D d)
Curry a function of arity-5.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
d - An argument to the curried function.
Returns:
A curried form of the given function.

uncurryF5

public static <A,B,C,D,E,F$> F<F<A,F<B,F<C,F<D,F<E,F$>>>>>,F5<A,B,C,D,E,F$>> uncurryF5()
Uncurry a function of arity-5.

Returns:
An uncurried function.

uncurryF5

public static <A,B,C,D,E,F$> F5<A,B,C,D,E,F$> uncurryF5(F<A,F<B,F<C,F<D,F<E,F$>>>>> f)
Uncurry a function of arity-6.

Parameters:
f - The function to uncurry.
Returns:
An uncurried function.

curry

public static <A,B,C,D,E,F$,G> F<A,F<B,F<C,F<D,F<E,F<F$,G>>>>>> curry(F6<A,B,C,D,E,F$,G> f)
Curry a function of arity-6.

Parameters:
f - The function to curry.
Returns:
A curried form of the given function.

uncurryF6

public static <A,B,C,D,E,F$,G> F<F<A,F<B,F<C,F<D,F<E,F<F$,G>>>>>>,F6<A,B,C,D,E,F$,G>> uncurryF6()
Uncurry a function of arity-6.

Returns:
An uncurried function.

uncurryF6

public static <A,B,C,D,E,F$,G> F6<A,B,C,D,E,F$,G> uncurryF6(F<A,F<B,F<C,F<D,F<E,F<F$,G>>>>>> f)
Uncurry a function of arity-6.

Parameters:
f - The function to uncurry.
Returns:
An uncurried function.

curry

public static <A,B,C,D,E,F$,G,H> F<A,F<B,F<C,F<D,F<E,F<F$,F<G,H>>>>>>> curry(F7<A,B,C,D,E,F$,G,H> f)
Curry a function of arity-7.

Parameters:
f - The function to curry.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H> F<B,F<C,F<D,F<E,F<F$,F<G,H>>>>>> curry(F7<A,B,C,D,E,F$,G,H> f,
                                                                        A a)
Curry a function of arity-7.

Parameters:
f - The function to curry.
a - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H> F<C,F<D,F<E,F<F$,F<G,H>>>>> curry(F7<A,B,C,D,E,F$,G,H> f,
                                                                   A a,
                                                                   B b)
Curry a function of arity-7.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H> F<D,F<E,F<F$,F<G,H>>>> curry(F7<A,B,C,D,E,F$,G,H> f,
                                                              A a,
                                                              B b,
                                                              C c)
Curry a function of arity-7.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H> F<E,F<F$,F<G,H>>> curry(F7<A,B,C,D,E,F$,G,H> f,
                                                         A a,
                                                         B b,
                                                         C c,
                                                         D d)
Curry a function of arity-7.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
d - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H> F<F$,F<G,H>> curry(F7<A,B,C,D,E,F$,G,H> f,
                                                    A a,
                                                    B b,
                                                    C c,
                                                    D d,
                                                    E e)
Curry a function of arity-7.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
d - An argument to the curried function.
e - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H> F<G,H> curry(F7<A,B,C,D,E,F$,G,H> f,
                                              A a,
                                              B b,
                                              C c,
                                              D d,
                                              E e,
                                              F$ f$)
Curry a function of arity-7.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
d - An argument to the curried function.
e - An argument to the curried function.
f$ - An argument to the curried function.
Returns:
A curried form of the given function.

uncurryF7

public static <A,B,C,D,E,F$,G,H> F<F<A,F<B,F<C,F<D,F<E,F<F$,F<G,H>>>>>>>,F7<A,B,C,D,E,F$,G,H>> uncurryF7()
Uncurry a function of arity-7.

Returns:
An uncurried function.

uncurryF7

public static <A,B,C,D,E,F$,G,H> F7<A,B,C,D,E,F$,G,H> uncurryF7(F<A,F<B,F<C,F<D,F<E,F<F$,F<G,H>>>>>>> f)
Uncurry a function of arity-7.

Parameters:
f - The function to uncurry.
Returns:
An uncurried function.

curry

public static <A,B,C,D,E,F$,G,H,I> F<A,F<B,F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>>>> curry(F8<A,B,C,D,E,F$,G,H,I> f)
Curry a function of arity-8.

Parameters:
f - The function to curry.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H,I> F<B,F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>>> curry(F8<A,B,C,D,E,F$,G,H,I> f,
                                                                               A a)
Curry a function of arity-8.

Parameters:
f - The function to curry.
a - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H,I> F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>> curry(F8<A,B,C,D,E,F$,G,H,I> f,
                                                                          A a,
                                                                          B b)
Curry a function of arity-8.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H,I> F<D,F<E,F<F$,F<G,F<H,I>>>>> curry(F8<A,B,C,D,E,F$,G,H,I> f,
                                                                     A a,
                                                                     B b,
                                                                     C c)
Curry a function of arity-8.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H,I> F<E,F<F$,F<G,F<H,I>>>> curry(F8<A,B,C,D,E,F$,G,H,I> f,
                                                                A a,
                                                                B b,
                                                                C c,
                                                                D d)
Curry a function of arity-8.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
d - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H,I> F<F$,F<G,F<H,I>>> curry(F8<A,B,C,D,E,F$,G,H,I> f,
                                                           A a,
                                                           B b,
                                                           C c,
                                                           D d,
                                                           E e)
Curry a function of arity-8.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
d - An argument to the curried function.
e - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H,I> F<G,F<H,I>> curry(F8<A,B,C,D,E,F$,G,H,I> f,
                                                     A a,
                                                     B b,
                                                     C c,
                                                     D d,
                                                     E e,
                                                     F$ f$)
Curry a function of arity-8.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
d - An argument to the curried function.
e - An argument to the curried function.
f$ - An argument to the curried function.
Returns:
A curried form of the given function.

curry

public static <A,B,C,D,E,F$,G,H,I> F<H,I> curry(F8<A,B,C,D,E,F$,G,H,I> f,
                                                A a,
                                                B b,
                                                C c,
                                                D d,
                                                E e,
                                                F$ f$,
                                                G g)
Curry a function of arity-7.

Parameters:
f - The function to curry.
a - An argument to the curried function.
b - An argument to the curried function.
c - An argument to the curried function.
d - An argument to the curried function.
e - An argument to the curried function.
f$ - An argument to the curried function.
g - An argument to the curried function.
Returns:
A curried form of the given function.

uncurryF8

public static <A,B,C,D,E,F$,G,H,I> F<F<A,F<B,F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>>>>,F8<A,B,C,D,E,F$,G,H,I>> uncurryF8()
Uncurry a function of arity-8.

Returns:
An uncurried function.

uncurryF8

public static <A,B,C,D,E,F$,G,H,I> F8<A,B,C,D,E,F$,G,H,I> uncurryF8(F<A,F<B,F<C,F<D,F<E,F<F$,F<G,F<H,I>>>>>>>> f)
Uncurry a function of arity-8.

Parameters:
f - The function to uncurry.
Returns:
An uncurried function.

Copyright Workingmouse Pty. Ltd. 2007, 2008

This software is released under an open source BSD licence.