Uses of Class
fj.P3

Packages that use P3
Package
Description
Types that set the premise for the existence of Functional Java.
Common algebraic data types.
Provides 2-3 finger trees, a functional representation of persistent sequences supporting access to the ends in amortized O(1) time.
Fixed-length vectors
  • Uses of P3 in fj

    Methods in fj that return P3
    Modifier and Type
    Method
    Description
    final <C> P3<A,B,C>
    P2.append(C el)
    Creates a P3 by adding the given element to the current P2
    static <A,B,C> P3<A,B,C>
    P.lazy(F<Unit,A> fa, F<Unit,B> fb, F<Unit,C> fc)
     
    static <A,B,C> P3<A,B,C>
    P.lazy(F0<A> pa, F0<B> pb, F0<C> pc)
     
    final <X> P3<X,B,C>
    P3.map1(F<A,X> f)
    Map the first element of the product.
    final <X> P3<A,X,C>
    P3.map2(F<B,X> f)
    Map the second element of the product.
    final <X> P3<A,B,X>
    P3.map3(F<C,X> f)
    Map the third element of the product.
    final P3<A,B,C>
    P3.memo()
    Provides a memoising P3 that remembers its values.
    static <A,B,C> P3<A,B,C>
    P.p(A a, B b, C c)
    A function that puts elements in a product-3.
    Methods in fj that return types with arguments of type P3
    Modifier and Type
    Method
    Description
    static <A,B,C> F<P3<A,B,C>, A>
    P3.__1()
    Returns a function that returns the first element of a product.
    static <A,B,C> F<P3<A,B,C>, B>
    P3.__2()
    Returns a function that returns the second element of a product.
    static <A,B,C> F<P3<A,B,C>, C>
    P3.__3()
    Returns a function that returns the third element of a product.
    static <A,B,C> F<A, F<B, F<C, P3<A,B,C>>>>
    P.p3()
    A function that puts elements in a product-3.
    static <A,B,C> Equal<P3<A,B,C>>
    Equal.p3Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec)
    An equal instance for a product-3.
    static <A,B,C> Hash<P3<A,B,C>>
    Hash.p3Hash(Hash<A> ha, Hash<B> hb, Hash<C> hc)
    A hash instance for a product-3.
    static <A,B,C> Ord<P3<A,B,C>>
    Ord.p3Ord(Ord<A> oa, Ord<B> ob, Ord<C> oc)
    An order instance for a product-3, with the first factor considered most significant.
    static <A,B,C> Show<P3<A,B,C>>
    Show.p3Show(Show<A> sa, Show<B> sb, Show<C> sc)
    A show instance for the tuple-3 type.
    Methods in fj with parameters of type P3
    Modifier and Type
    Method
    Description
    final <C,D,E> P5<A,B,C,D,E>
    P2.append(P3<C,D,E> el)
    Creates a P5 by adding the given element to the current P2
    final <D,E,F> P6<A,B,C,D,E,F>
    P3.append(P3<D,E,F> el)
    Creates a P6 by adding the given element to the current P3
    final <E,F,G> P7<A,B,C,D,E,F,G>
    P4.append(P3<E,F,G> el)
    Creates a P7 by adding the given element to the current P4
    final <F,G,H> P8<A,B,C,D,E,F,G,H>
    P5.append(P3<F,G,H> el)
    Creates a P8 by adding the given element to the current P5
  • Uses of P3 in fj.data

    Methods in fj.data that return P3
    Modifier and Type
    Method
    Description
    Zipper.p()
    Returns the product-3 representation of this Zipper.
    final P3<Set<A>, Option<A>, Set<A>>
    Set.split(A a)
    Splits this set at the given element.
    P3<Set<V>, Option<V>, Set<V>>
    TreeMap.split(Ord<V> ord, K k)
    Splits this TreeMap at the given key.
    TreeMap.splitLookup(K k)
    Splits this TreeMap at the given key.
    Methods in fj.data that return types with arguments of type P3
    Modifier and Type
    Method
    Description
    final <B,C> Option<P3<A,B,C>>
    Option.bindProduct(Option<B> ob, Option<C> oc)
     
    TreeZipper.p()
    Returns the product-4 representation of this zipper.
    static <A> F<TreeZipper<A>, P4<Tree<A>, Stream<Tree<A>>, Stream<Tree<A>>, Stream<P3<Stream<Tree<A>>, A, Stream<Tree<A>>>>>>
    TreeZipper.p_()
    A first-class function that returns the product-4 representation of a given zipper.
    static <A> F<Zipper<A>, P3<Stream<A>, A, Stream<A>>>
    Zipper.p_()
    A first-class function that yields the product-3 representation of a given Zipper.
    TreeZipper.parents()
    Returns the parents of the currently focused node.
    static <A> F<Tree<A>, F<Stream<Tree<A>>, F<Stream<Tree<A>>, F<Stream<P3<Stream<Tree<A>>, A, Stream<Tree<A>>>>, TreeZipper<A>>>>>
    TreeZipper.treeZipper()
    First-class constructor for tree zippers.
    Methods in fj.data with parameters of type P3
    Modifier and Type
    Method
    Description
    static <A> Zipper<A>
    Zipper.zipper(P3<Stream<A>, A, Stream<A>> p)
    Creates a new Zipper from the given triple.
  • Uses of P3 in fj.data.fingertrees

    Methods in fj.data.fingertrees that return P3
    Modifier and Type
    Method
    Description
    final P3<FingerTree<V,A>, A, FingerTree<V,A>>
    FingerTree.split1(F<V,Boolean> predicate)
    Like split, but returns the element where pred first holds separately.
  • Uses of P3 in fj.data.vector

    Methods in fj.data.vector that return P3
    Modifier and Type
    Method
    Description
    P3<A,A,A>
    V3.p()
    Returns a homogeneous product-3 equivalent to this vector.
    Methods in fj.data.vector that return types with arguments of type P3
    Modifier and Type
    Method
    Description
    static <A> F<V3<A>, P3<A,A,A>>
    V3.p_()
    Returns a function that transforms a vector-3 to the equivalent product-3.
    Methods in fj.data.vector with parameters of type P3
    Modifier and Type
    Method
    Description
    static <A> V3<A>
    V3.p(P3<A,A,A> p)
    Creates a vector-3 from a homogeneous product-3.