A left disjunction
The coproduct (or free product) of monoids M and N.
scalaz.Inject[F, G]
scalaz.Inject[F, G]
A scalaz.NaturalTransformation[G, F].
An immutable map of key/value pairs implemented as a balanced binary tree
Tag a type T with Tag.
Tag a type T with Tag.
The resulting type is used to discriminate between type class instances.
Credit to Miles Sabin for the idea.
An adjunction formed by two functors F and G such that F is left-adjoint to G.
An algebraic data type representing the characters 'a' to 'z'
Applicative Functor, described in Applicative Programming with Effects
scalaz.Applicative combined with scalaz.PlusEmpty.
scalaz.Applicative without point.
A scalaz.Category supporting all ordinary functions, as well as combining arrows product-wise.
A constrained transformation natural in both sides of a bifunctor
A function universally quantified over two parameters.
A type giving rise to two unrelated scalaz.Foldables.
A type giving rise to two unrelated scalaz.Functors.
An scalaz.Apply functor, where a lifted function can introduce new values _and_ new functor context to be incorporated into the lift context.
scalaz.Bind capable of using constant stack space when doing recursive binds.
A type giving rise to two unrelated scalaz.Traverses.
A context in which exceptions can be caught and thrown.
scalaz.Compose with identity.
A cofree comonad for some functor S, i.
A constrained natural transformation
Contravariant functors.
Decomposition of fi.contramap(k) into its components, as it is
frequently convenient to apply k separately from sorting or
whatever process with fi, even when B is unknown, which is
very common.
F on the left, and G on the right, of scalaz.\/.
A Cord is a purely functional data structure for efficiently
storing and manipulating Strings that are potentially very long.
Corepresentable functors
The dual view of the Yoneda lemma.
Difference lists: a data structure for O(1) append on lists.
A Double-ended queue, based on the Bankers Double Ended Queue as described by C.
Implementation of a Discrete Interval Encoding Tree http://web.engr.oregonstate.edu/~erwig/diet/ that is actually implemented using a Vector and is balanced at all times as a result.
An algebraic data type representing the digits 0 - 9
Dual of scalaz.Traverse.
Divide is the contravariant analogue of scalaz.Apply
Divisible is the contravariant analogue of scalaz.Applicative
Represents a computation of type F[A \/ B].
Endomorphisms.
Endomorphisms have special properties among arrows, so are captured in this newtype.
An scalaz.Orderable with discrete values.
Like scala.collection.immutable.Stream, but doesn't save computed values.
A type safe alternative to universal equality (scala.Any#==).
Finger trees with leaves of type A and Nodes that are annotated with type V.
A type parameter implying the ability to extract zero or more values of that type.
A scalaz.Foldable where foldMap is total over semigroups.
A universally quantified value
A free monad for a type constructor S.
Free applicative functors.
Functors, covariant by nature if not by Scala type.
A Generator[C] is a container of elements, and which knows how to efficiently apply a scalaz.Reducer
to extract an answer by combining elements.
An efficient, asymptotically optimal, implementation of priority queues extended with support for efficient size.
Safe, invariant alternative to stdlib List.
Mixed into object Id in the package object scalaz.
An immutable wrapper for arrays
Indexed sequences, based on scalaz.FingerTree
A monad transformer stack yielding (R, S1) => F[(W, A, S2)].
Inject type class as described in "Data types a la carte" (Swierstra 2008).
Given Injective[Foo]: If type Foo[A] = Foo[B] then A ~ B
Unary type constructor that supports an xmap operation that converts an F[A] to an F[B] given
two functions, A => B and B => A.
Typeclass that permits testing whether some type with an empty representation is in fact empty.
Represents a function A => M[B].
The left Kan extension of H along G
scala.Either, but with a value by name.
scala.Option, but with a value by name.
scala.Tuple2, but with values by name.
scala.Tuple3, but with values by name.
scala.Tuple4, but with values by name.
Leibnizian equality: a better =:=
A lens that doesn't transform the type of the record.
A lens that doesn't transform the type of the record.
A Lens Family, offering a purely functional means to access and retrieve
a field transitioning from type B1 to type B2 in a record simultaneously
transitioning from type A1 to type A2.
Liskov substitutability: A better <:<
ListT monad transformer.
An optional value
monad transformer for Maybe
A function memoization strategy.
Monad, an scalaz.Applicative that also supports scalaz.Bind, circumscribed by the monad laws.
This trait establishes a partial order among monads.
The class of monads supporting the operations of scalaz.State.
The class of monads supporting write operations
Class of monad transformers.
Provides an identity element (zero) to the binary append
operation in scalaz.Semigroup, subject to the monoid laws.
Call by name
A universally quantified function, usually written as F ~> G,
for symmetry with A => B.
Call by need
A singly-linked list that is guaranteed to be non-empty.
A context supporting nondeterministic choice.
A generalization of NonEmptyList to non-List things.
OptionT monad transformer.
Abstraction over a container/context which may or may not provide a value.
Ordered sequences, based on scalaz.FingerTree
Safer version of scala.math.Ordering.
A ternary marker of how two values relate in an ordering.
A partial lens that doesn't transform the type of the record.
A partial lens that doesn't transform the type of the record.
Partial Lens Families, offering a purely functional means to access and retrieve
an optional field transitioning from type B1 to type B2 in a record that is
simultaneously transitioning from type A1 to type A2.
Universally quantified scalaz.Semigroup.
Universally quantified scalaz.Monoid.
Strength on a coproduct.
Profunctors are covariant on the right and contravariant on the left.
The right Kan extension of H along G
A Reducer[C,M] is a scalaz.Monoid[M] that maps
values of type C through unit to values of type M.
Representable functors, that is to say, those with isomorphisms to
and from [a](X => a).
An associative binary operation, circumscribed by type and the semigroup laws.
A typeclass for conversion to textual representation, done via scalaz.Cord for efficiency.
A scalaz.Compose (semigroupoid) permitting products.
A state transition, representing a function S => (S, A).
StreamT monad transformer.
Strength on a product.
Idiomatic traversal of a structure, as described in The Essence of the Iterator Pattern.
A scalaz.Traverse where traverse is total over
scalaz.Applys.
A multi-way tree, also known as a rose tree.
A rose-tree zipper.
Represents a type MA that has been destructured into as a type constructor M[_]
applied to type A, along with a corresponding type class instance TC[M].
This data type is isomorphic to WriterT, however, it is NOT a monad.
Represents either:
An scalaz.Validation with a scalaz.NonEmptyList as the failure type.
An scalaz.Validation with a scalaz.NonEmptyList as the failure type.
Useful for accumulating errors through the corresponding scalaz.Applicative instance.
Call by value
View of the left end of a sequence.
View of the right end of a sequence.
The cofree functor generated by F.
Functors that annihilate each other.
Provides a pointed stream, which is a non-empty zipper-like stream structure that tracks an index (focus) position in a stream.
Represents a disjunction: a result that is either an A or a B.
A right disjunction
A scalaz.NaturalTransformation[F, G].
This object was generated by sbt-buildinfo.
Type tags that are used to discriminate between alternative type class instances.
Type Class instances for data structures in the Scala and Java standard libraries.
Implicits to provide a convenient syntax to work with type classes and functions.
Scalaz: Type classes and pure functional data structures for Scala.
This package, scalaz, contains:
Type class instances and other functions related to the Scala and Java standard library are in scalaz.std
Implicit conversions and wrapper classes that provide a more convenient syntax for accessing the functionality of the library are in scalaz.syntax.
Type Classes Index
Data Structures Index
A => A.Streamof sub-trees.A => M[B], allowing chaining. Also known, and aliased, asscalaz.ReaderT.F[Option[A]]F[Maybe[A]]F[A \/ B]