|
Copyright 2008 - 2009 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg This software is released under an open source BSD licence. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectfj.P1<A>
public abstract class P1<A>
A product-1. Also, the identity monad.
Constructor Summary | |
---|---|
P1()
|
Method Summary | ||
---|---|---|
static
|
__1()
Returns a function that returns the first element of a product. |
|
abstract A |
_1()
Access the first element of the product. |
|
static
|
apply(P1<A> ca,
P1<F<A,B>> cf)
Performs function application within a P1 (applicative functor pattern). |
|
static
|
bind(P1<A> a,
F<A,P1<B>> f)
Binds the given function to the value in a product-1 with a final join. |
|
static
|
bind(P1<A> ca,
P1<B> cb,
F<A,F<B,C>> f)
Binds the given function to the values in the given P1s with a final join. |
|
static
|
curry(F<A,B> f)
Promotes the given function so that it returns its value in a P1. |
|
static
|
fmap(F<A,B> f)
Promote any function to a transformation between P1s. |
|
static
|
join(P1<P1<A>> a)
Joins a P1 of a P1 with a bind operation. |
|
static
|
liftM2(F<A,F<B,C>> f)
Promotes a function of arity-2 to a function on P1s. |
|
|
map(F<A,X> f)
Map the element of the product. |
|
P1<A> |
memo()
Provides a memoising P1 that remembers its value. |
|
static
|
sequence(Array<P1<A>> as)
Turns an array of P1s into a single P1 of an array. |
|
static
|
sequence(List<P1<A>> as)
Turns a List of P1s into a single P1 of a List. |
|
static
|
sequence(Stream<P1<A>> as)
Turns a stream of P1s into a single P1 of a stream. |
|
static
|
sequenceList()
A first-class version of the sequence method for lists of P1s. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public P1()
Method Detail |
---|
public abstract A _1()
public <X> P1<X> map(F<A,X> f)
f
- The function to map with.
public static <A> F<P1<A>,A> __1()
public static <A,B> F<P1<A>,P1<B>> fmap(F<A,B> f)
f
- A function to promote to a transformation between P1s.
public static <A,B> P1<B> bind(P1<A> a, F<A,P1<B>> f)
a
- A value in a product-1 to which to apply a function.f
- A function to apply to the value in a product-1.
public static <A,B> F<A,P1<B>> curry(F<A,B> f)
f
- A function to have its result wrapped in a P1.
public static <A,B> P1<B> apply(P1<A> ca, P1<F<A,B>> cf)
ca
- The P1 to which to apply a function.cf
- The P1 function to apply.
public static <A,B,C> P1<C> bind(P1<A> ca, P1<B> cb, F<A,F<B,C>> f)
ca
- A given P1 to bind the given function with.cb
- A given P1 to bind the given function with.f
- The function to apply to the values in the given P1s.
public static <A> P1<A> join(P1<P1<A>> a)
a
- The P1 of a P1 to join.
public static <A,B,C> F<P1<A>,F<P1<B>,P1<C>>> liftM2(F<A,F<B,C>> f)
f
- The function to promote.
public static <A> P1<List<A>> sequence(List<P1<A>> as)
as
- The list of P1s to transform.
public static <A> F<List<P1<A>>,P1<List<A>>> sequenceList()
public static <A> P1<Stream<A>> sequence(Stream<P1<A>> as)
as
- The stream of P1s to transform.
public static <A> P1<Array<A>> sequence(Array<P1<A>> as)
as
- The array of P1s to transform.
public P1<A> memo()
|
Copyright 2008 - 2009 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg This software is released under an open source BSD licence. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |