Package fj.data
package fj.data
Common algebraic data types.
-
ClassDescription$<A,
B> The constant arrow, for attaching a new name to an existing type.Array<A>Provides an interface to arrays.Projects an array by providing only operations which do not mutate.Functions that convert between data structure types.DList<A>Difference List.Either<A,B> TheEithertype represents a value of one of two possible types (a disjoint union).A left projection of an either value.A right projection of an either value.Either3<A,B, C> Either3.LeftProjection<A,B, C> Either3.MiddleProjection<A,B, C> Either3.RightProjection<A,B, C> Enumerator<A>Abstracts over a type that may have a successor and/or predecessor value.Eval<A>Evalis an abstraction over different models of evaluation.HashMap<K,V> A mutable hash map providing O(1) lookup.HashSet<A>A mutable hash set that guarantees uniqueness of its elements providing O(1) lookup.IO<A>IO monad for processing filesIO monad for processing files, with main methodsIOFunctions.enumFileLines(File, Option, Iteratee.IterV),IOFunctions.enumFileChars(File, Option, Iteratee.IterV)andIOFunctions.enumFileCharChunks(File, Option, Iteratee.IterV)(the latter one is the fastest as char chunks read from the file are directly passed to the iteratee without indirection in between).IterableW<A>A wrapper for Iterable that equips it with some useful functions.The input to an iteratee.Iteratee.IterV<E,A> A pure iteratee computation which is either done or needs more inputFunctions that convert between types from the core Java API.A lazy (non-evaluated) immutable character string.List<A>Provides an in-memory, immutable, singly linked list.List.Buffer<A>A mutable, singly linked list.Optic factory methods for a ListRepresents a natural number (zero, one, two, etc.)NonEmptyList<A>Provides an in-memory, immutable, singly linked list with totalheadandtail.Option<A>An optional value that may be none (no value) or some (a value).PriorityQueue<K,A> A priority queue implementation backed by aFingerTree.Reader<A,B> The Reader monad (also called the function monad, so equivalent to the idea of F).SafeIO<A>Seq<A>Provides an immutable finite sequence, implemented as a finger tree.Set<A>Provides an in-memory, immutable set, implemented as a red/black tree.State<S,A> Stream<A>A lazy (not yet evaluated), immutable, singly linked list.Tree<A>Provides a lazy, immutable, non-empty, multi-way tree (a rose tree).TreeMap<K,V> An immutable, in-memory map, backed by a red-black tree.TreeZipper<A>Provides a zipper structure for rose trees, which is a Tree supplied with a location within that tree.Validation<E,T> Isomorphic toEitherbut has renamed functions and represents failure on the left and success on the right.A failing projection of a validation.Writer<W,A> Zipper<A>Provides a pointed stream, which is a non-empty zipper-like stream structure that tracks an index (focus) position in a stream.