Package

scalaz

Permalink

package scalaz

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

Source
package.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. scalaz
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. final case class -\/[+A](a: A) extends \/[A, Nothing] with Product with Serializable

    Permalink

    A left disjunction

    A left disjunction

    Often used to represent the failure case of a result

  2. sealed class :+:[+M, +N] extends AnyRef

    Permalink

    The coproduct (or free product) of monoids M and N.

    The coproduct (or free product) of monoids M and N. Conceptually this is an alternating list of M and N values, with the identity as the empty list, and composition as list concatenation that combines adjacent elements when possible.

  3. type :<:[F[_], G[_]] = Inject[F, G]

    Permalink

    scalaz.Inject[F, G]

  4. type :≺:[F[_], G[_]] = Inject[F, G]

    Permalink

    scalaz.Inject[F, G]

  5. type <~[+F[_], -G[_]] = NaturalTransformation[G, F]

    Permalink

    A scalaz.NaturalTransformation[G, F].

  6. sealed abstract class ==>>[A, B] extends AnyRef

    Permalink

    An immutable map of key/value pairs implemented as a balanced binary tree

    An immutable map of key/value pairs implemented as a balanced binary tree

    Based on Haskell's Data.Map

    Since

    7.0.3

  7. type =?>[E, A] = Kleisli[Option, E, A]

    Permalink
  8. type @>[A, B] = LensFamily[A, A, B, B]

    Permalink

    See also

    scalaz.Lens

  9. type @?>[A, B] = PLensFamily[A, A, B, B]

    Permalink

    See also

    scalaz.PLens

  10. type @@[T, Tag] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink

    Tag a type T with Tag.

    Tag a type T with Tag.

    The resulting type is used to discriminate between type class instances.

    See also

    scalaz.Tag and scalaz.Tags Credit to Miles Sabin for the idea.

  11. abstract class Adjunction[F[_], G[_]] extends AnyRef

    Permalink

    An adjunction formed by two functors F and G such that F is left-adjoint to G.

    An adjunction formed by two functors F and G such that F is left-adjoint to G. The composite functor GF is a monad and the composite functor FG is a comonad.

    The minimal defition is either (unit, counit) or (leftAdjunct, rightAdjunct)

  12. trait AdjunctionFunctions extends AnyRef

    Permalink
  13. sealed abstract class AdjunctionInstances extends AnyRef

    Permalink
  14. trait Align[F[_]] extends Functor[F]

    Permalink

  15. sealed abstract class Alpha extends Product with Serializable

    Permalink

    An algebraic data type representing the characters 'a' to 'z'

  16. trait AlphaFunctions extends AnyRef

    Permalink
  17. sealed abstract class AlphaInstances extends AnyRef

    Permalink
  18. type Alternative[F[_]] = ApplicativePlus[F]

    Permalink
  19. trait Applicative[F[_]] extends Apply[F]

    Permalink

    Applicative Functor, described in Applicative Programming with Effects

    Applicative Functor, described in Applicative Programming with Effects

    Whereas a scalaz.Functor allows application of a pure function to a value in a context, an Applicative also allows application of a function in a context to a value in a context (ap).

    It follows that a pure function can be applied to arguments in a context. (See apply2, apply3, ... )

    Applicative instances come in a few flavours:

    • All scalaz.Monads are also Applicative
    • Any scalaz.Monoid can be treated as an Applicative (see scalaz.Monoid#applicative)
    • Zipping together corresponding elements of Naperian data structures (those of of a fixed, possibly infinite shape)
    See also

    scalaz.Applicative.ApplicativeLaw

  20. trait ApplicativePlus[F[_]] extends Applicative[F] with PlusEmpty[F]

    Permalink

    scalaz.Applicative combined with scalaz.PlusEmpty.

  21. trait Apply[F[_]] extends Functor[F]

    Permalink

    scalaz.Applicative without point.

  22. trait Arrow[=>:[_, _]] extends Split[=>:] with Profunctor[=>:] with Category[=>:]

    Permalink

    A scalaz.Category supporting all ordinary functions, as well as combining arrows product-wise.

    A scalaz.Category supporting all ordinary functions, as well as combining arrows product-wise. Every Arrow forms a scalaz.Contravariant in one type parameter, and a scalaz.Applicative in the other, just as with ordinary functions.

  23. trait Associative[=>:[_, _]] extends AnyRef

    Permalink

  24. trait BKTreeFunctions extends AnyRef

    Permalink
  25. sealed abstract class BKTreeInstances extends AnyRef

    Permalink
  26. trait BiConstrainedNaturalTransformation[F[_, _], G[_, _], C[_], E[_]] extends AnyRef

    Permalink

    A constrained transformation natural in both sides of a bifunctor

  27. trait BiNaturalTransformation[-F[_, _], +G[_, _]] extends AnyRef

    Permalink

    A function universally quantified over two parameters.

  28. trait Bifoldable[F[_, _]] extends AnyRef

    Permalink

    A type giving rise to two unrelated scalaz.Foldables.

  29. trait Bifunctor[F[_, _]] extends AnyRef

    Permalink

    A type giving rise to two unrelated scalaz.Functors.

  30. final class BijectionT[F[_], G[_], A, B] extends AnyRef

    Permalink
  31. trait BijectionTFunctions extends AnyRef

    Permalink
  32. sealed abstract class BijectionTInstances extends BijectionTInstances0

    Permalink
  33. sealed abstract class BijectionTInstances0 extends AnyRef

    Permalink
  34. trait Bind[F[_]] extends Apply[F]

    Permalink

    An scalaz.Apply functor, where a lifted function can introduce new values _and_ new functor context to be incorporated into the lift context.

    An scalaz.Apply functor, where a lifted function can introduce new values _and_ new functor context to be incorporated into the lift context. The essential new operation of scalaz.Monads.

    See also

    scalaz.Bind.BindLaw

  35. trait Bitraverse[F[_, _]] extends Bifunctor[F] with Bifoldable[F]

    Permalink

    A type giving rise to two unrelated scalaz.Traverses.

  36. sealed abstract class CaseInsensitive[A] extends AnyRef

    Permalink
  37. sealed abstract class CaseInsensitiveInstances extends AnyRef

    Permalink
  38. trait Catchable[F[_]] extends AnyRef

    Permalink

    A context in which exceptions can be caught and thrown.

    A context in which exceptions can be caught and thrown.

    This class places no other class constraints on F, but it should be the case that exceptions raised via fail are caught by the nearest surrounding attempt and returned as a Left. In addition to catching explicitly raised exceptions via fail, we expect that attempt catch ambient exceptions that might occur when 'evaluating' an F.

    We can state the requirement that attempt catch all ambient exceptions by stipulating that for all total functions of the form g: forall A . F[Throwable \/ A] => B, g compose attempt is also total.

  39. trait Category[=>:[_, _]] extends Compose[=>:]

    Permalink

    scalaz.Compose with identity.

  40. trait CharSetFunctions extends AnyRef

    Permalink
  41. trait Choice[=>:[_, _]] extends Category[=>:]

    Permalink

  42. trait Cobind[F[_]] extends Functor[F]

    Permalink

  43. abstract class Codensity[F[_], A] extends AnyRef

    Permalink
  44. sealed abstract class CodensityInstances extends AnyRef

    Permalink
  45. sealed abstract class Cofree[S[_], A] extends AnyRef

    Permalink

    A cofree comonad for some functor S, i.e.

    A cofree comonad for some functor S, i.e. an S-branching stream.

  46. trait CofreeFunctions extends AnyRef

    Permalink
  47. sealed abstract class CofreeInstances extends CofreeInstances0

    Permalink
  48. sealed abstract class CofreeInstances0 extends CofreeInstances1

    Permalink
  49. sealed abstract class CofreeInstances1 extends CofreeInstances2

    Permalink
  50. sealed abstract class CofreeInstances2 extends CofreeInstances3

    Permalink
  51. sealed abstract class CofreeInstances3 extends CofreeInstances4

    Permalink
  52. sealed abstract class CofreeInstances4 extends AnyRef

    Permalink
  53. trait Cohoist[F[_[_], _]] extends ComonadTrans[F]

    Permalink
  54. final case class Cokleisli[F[_], A, B](run: (F[A]) ⇒ B) extends Product with Serializable

    Permalink
  55. trait CokleisliFunctions extends AnyRef

    Permalink
  56. sealed abstract class CokleisliInstances extends CokleisliInstances0

    Permalink
  57. sealed abstract class CokleisliInstances0 extends AnyRef

    Permalink
  58. trait Comonad[F[_]] extends Cobind[F]

    Permalink

  59. trait ComonadStore[F[_, _], S] extends Comonad[[x]F[S, x]]

    Permalink
  60. trait ComonadTrans[F[_[_], _]] extends AnyRef

    Permalink
  61. trait Compose[=>:[_, _]] extends AnyRef

    Permalink

  62. final case class Const[A, B](getConst: A) extends Product with Serializable

    Permalink
  63. sealed trait ConstFunctions extends AnyRef

    Permalink
  64. sealed abstract class ConstInstances extends ConstInstances0

    Permalink
  65. sealed abstract class ConstInstances0 extends ConstInstances1

    Permalink
  66. sealed abstract class ConstInstances1 extends AnyRef

    Permalink
  67. trait ConstrainedNaturalTransformation[F[_], G[_], E[_]] extends AnyRef

    Permalink

    A constrained natural transformation

  68. type Cont[R, A] = IndexedContsT[scalaz.Id.Id, scalaz.Id.Id, R, R, A]

    Permalink
  69. type ContT[M[_], R, A] = IndexedContsT[scalaz.Id.Id, M, R, R, A]

    Permalink
  70. trait Contravariant[F[_]] extends InvariantFunctor[F]

    Permalink

    Contravariant functors.

    Contravariant functors. For example, functions provide a scalaz.Functor in their result type, but a scalaz.Contravariant for each argument type.

    Note that the dual of a scalaz.Functor is just a scalaz.Functor itself.

    Providing an instance of this is a useful alternative to marking a type parameter with - in Scala.

    See also

    scalaz.Contravariant.ContravariantLaw

  71. sealed abstract class ContravariantCoyoneda[F[_], A] extends AnyRef

    Permalink

    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.

    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.

    This is isomorphic to F as long as F itself is a contravariant functor. The homomorphism from F[A] to ContravariantCoyoneda[F,A] exists even when F is not a contravariant functor.

    See ContravariantCoyonedaUsage.scala in the scalaz source tree for an interesting usage demonstration.

    As ContravariantCoyoneda(o)(identity).unlift = o, further factoring can occur as follows, for free:

    ContravariantCoyoneda(o contramap g)(f).unlift =
      ContravariantCoyoneda(o)(g compose f).unlift
    See also

    http://hackage.haskell.org/package/kan-extensions-4.0.1/docs/Data-Functor-Contravariant-Coyoneda.html

  72. sealed abstract class ContravariantCoyonedaInstances extends AnyRef

    Permalink
  73. type Conts[W[_], R, A] = IndexedContsT[W, scalaz.Id.Id, R, R, A]

    Permalink
  74. type ContsT[W[_], M[_], R, A] = IndexedContsT[W, M, R, R, A]

    Permalink
  75. final case class Coproduct[F[_], G[_], A](run: \/[F[A], G[A]]) extends Product with Serializable

    Permalink

    F on the left, and G on the right, of scalaz.\/.

    F on the left, and G on the right, of scalaz.\/.

    run

    The underlying scalaz.\/.

  76. trait CoproductFunctions extends AnyRef

    Permalink
  77. sealed abstract class CoproductInstances extends CoproductInstances0

    Permalink
  78. sealed abstract class CoproductInstances0 extends CoproductInstances1

    Permalink
  79. sealed abstract class CoproductInstances1 extends CoproductInstances2

    Permalink
  80. sealed abstract class CoproductInstances2 extends CoproductInstances3

    Permalink
  81. sealed abstract class CoproductInstances3 extends AnyRef

    Permalink
  82. final case class Cord(self: FingerTree[Int, String]) extends Product with Serializable

    Permalink

    A Cord is a purely functional data structure for efficiently storing and manipulating Strings that are potentially very long.

    A Cord is a purely functional data structure for efficiently storing and manipulating Strings that are potentially very long. Very similar to Rope[Char], but with better constant factors and a simpler interface since it's specialized for Strings.

  83. abstract class Corepresentable[F[_], X] extends AnyRef

    Permalink

    Corepresentable functors

  84. sealed abstract class Coyoneda[F[_], A] extends AnyRef

    Permalink

    The dual view of the Yoneda lemma.

    The dual view of the Yoneda lemma. Also a free functor on F. This is isomorphic to F as long as F itself is a functor. The homomorphism from F[A] to Coyoneda[F,A] exists even when F is not a functor.

  85. sealed abstract class CoyonedaInstances extends CoyonedaInstances0

    Permalink
  86. sealed abstract class CoyonedaInstances0 extends CoyonedaInstances1

    Permalink
  87. sealed abstract class CoyonedaInstances1 extends CoyonedaInstances2

    Permalink
  88. sealed abstract class CoyonedaInstances10 extends AnyRef

    Permalink
  89. sealed abstract class CoyonedaInstances2 extends CoyonedaInstances3

    Permalink
  90. sealed abstract class CoyonedaInstances3 extends CoyonedaInstances4

    Permalink
  91. sealed abstract class CoyonedaInstances4 extends CoyonedaInstances5

    Permalink
  92. sealed abstract class CoyonedaInstances5 extends CoyonedaInstances6

    Permalink
  93. sealed abstract class CoyonedaInstances6 extends CoyonedaInstances7

    Permalink
  94. sealed abstract class CoyonedaInstances7 extends CoyonedaInstances8

    Permalink
  95. sealed abstract class CoyonedaInstances8 extends CoyonedaInstances9

    Permalink
  96. sealed abstract class CoyonedaInstances9 extends CoyonedaInstances10

    Permalink
  97. trait Cozip[F[_]] extends AnyRef

    Permalink

  98. type DLeft[+A] = -\/[A]

    Permalink
  99. final class DList[A] extends AnyRef

    Permalink

    Difference lists: a data structure for O(1) append on lists.

    Difference lists: a data structure for O(1) append on lists. Based on Data.DList, a Haskell library by Don Stewart.

    A difference list is a function that given a list, returns the original contents of the difference list prepended at the given list.

    This structure supports O(1) append and snoc operations on lists, making it very useful for append-heavy uses, such as logging and pretty printing.

  100. trait DListFunctions extends AnyRef

    Permalink
  101. sealed abstract class DListInstances extends AnyRef

    Permalink
  102. type DRight[+B] = \/-[B]

    Permalink
  103. sealed abstract class Dequeue[A] extends AnyRef

    Permalink

    A Double-ended queue, based on the Bankers Double Ended Queue as described by C.

    A Double-ended queue, based on the Bankers Double Ended Queue as described by C. Okasaki in "Purely Functional Data Structures"

    A queue that allows items to be put onto either the front (cons) or the back (snoc) of the queue in constant time, and constant time access to the element at the very front or the very back of the queue. Dequeueing an element from either end is constant time when amortized over a number of dequeues.

    This queue maintains an invariant that whenever there are at least two elements in the queue, neither the front list nor back list are empty. In order to maintain this invariant, a dequeue from either side which would leave that side empty constructs the resulting queue by taking elements from the opposite side

  104. sealed abstract class DequeueInstances extends AnyRef

    Permalink
  105. trait DiNaturalTransformation[F[_, _], G[_, _]] extends AnyRef

    Permalink
  106. sealed abstract class Diev[A] extends AnyRef

    Permalink

    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.

  107. trait DievFunctions extends DievImplementation

    Permalink
  108. trait DievImplementation extends AnyRef

    Permalink
  109. sealed abstract class DievInstances extends DievImplementation

    Permalink
  110. sealed abstract class Digit extends Product with Serializable

    Permalink

    An algebraic data type representing the digits 0 - 9

  111. trait DigitFunctions extends AnyRef

    Permalink
  112. sealed abstract class DigitInstances extends AnyRef

    Permalink
  113. type Disjunction[+A, +B] = \/[A, B]

    Permalink
  114. trait DisjunctionFunctions extends AnyRef

    Permalink
  115. sealed abstract class DisjunctionInstances extends DisjunctionInstances0

    Permalink
  116. sealed abstract class DisjunctionInstances0 extends DisjunctionInstances1

    Permalink
  117. sealed abstract class DisjunctionInstances1 extends DisjunctionInstances2

    Permalink
  118. sealed abstract class DisjunctionInstances2 extends AnyRef

    Permalink
  119. type DisjunctionT[F[_], A, B] = EitherT[F, A, B]

    Permalink
  120. trait Distributive[F[_]] extends Functor[F]

    Permalink

    Dual of scalaz.Traverse.

    Dual of scalaz.Traverse. To transform F[G[B]] to G[F[B]], you may use Traverse[F] and Applicative[G], but alternatively Functor[F] and Distributive[G], which permits greater sharing and nonstrictness.

  121. trait DistributiveFunctions extends AnyRef

    Permalink
  122. trait Divide[F[_]] extends Contravariant[F]

    Permalink

    Divide is the contravariant analogue of scalaz.Apply

    Divide is the contravariant analogue of scalaz.Apply

    See also

    https://github.com/ekmett/contravariant/issues/18

  123. trait Divisible[F[_]] extends Divide[F]

    Permalink

    Divisible is the contravariant analogue of scalaz.Applicative

  124. sealed abstract class DualInstances extends DualInstances0

    Permalink
  125. sealed abstract class DualInstances0 extends AnyRef

    Permalink
  126. sealed abstract class Either3[+A, +B, +C] extends Product with Serializable

    Permalink
  127. final case class EitherT[F[_], A, B](run: F[\/[A, B]]) extends Product with Serializable

    Permalink

    Represents a computation of type F[A \/ B].

    Represents a computation of type F[A \/ B].

    Example:

    val x: Option[String \/ Int] = Some(\/-(1))
    EitherT(x).map(1+).run // Some(\/-(2))
  128. trait EitherTFunctions extends AnyRef

    Permalink
  129. sealed abstract class EitherTInstances extends EitherTInstances0

    Permalink
  130. sealed abstract class EitherTInstances0 extends EitherTInstances1

    Permalink
  131. sealed abstract class EitherTInstances1 extends EitherTInstances2

    Permalink
  132. sealed abstract class EitherTInstances2 extends EitherTInstances3

    Permalink
  133. sealed abstract class EitherTInstances3 extends AnyRef

    Permalink
  134. final case class Endo[A](run: (A) ⇒ A) extends Product with Serializable

    Permalink

    Endomorphisms.

    Endomorphisms. They have special properties among functions, so are captured in this newtype.

    run

    The captured function.

  135. trait EndoFunctions extends AnyRef

    Permalink
  136. sealed abstract class EndoInstances extends AnyRef

    Permalink
  137. final case class Endomorphic[=>:[_, _], A](run: =>:[A, A]) extends Product with Serializable

    Permalink

    Endomorphisms have special properties among arrows, so are captured in this newtype.

    Endomorphisms have special properties among arrows, so are captured in this newtype.

    Endomorphic[Function1, A] is equivalent to Endo[A]

  138. trait EndomorphicFunctions extends AnyRef

    Permalink
  139. sealed abstract class EndomorphicInstances extends EndomorphicInstances0

    Permalink
  140. sealed abstract class EndomorphicInstances0 extends AnyRef

    Permalink
  141. trait Enum[F] extends Order[F]

    Permalink

    An scalaz.Orderable with discrete values.

  142. sealed abstract class EphemeralStream[A] extends AnyRef

    Permalink

    Like scala.collection.immutable.Stream, but doesn't save computed values.

    Like scala.collection.immutable.Stream, but doesn't save computed values. As such, it can be used to represent similar things, but without the space leak problem frequently encountered using that type.

  143. trait EphemeralStreamFunctions extends AnyRef

    Permalink
  144. sealed abstract class EphemeralStreamInstances extends AnyRef

    Permalink
  145. trait Equal[F] extends AnyRef

    Permalink

    A type safe alternative to universal equality (scala.Any#==).

    A type safe alternative to universal equality (scala.Any#==).

    See also

    scalaz.Equal.EqualLaw

  146. final case class Failure[E](e: E) extends Validation[E, Nothing] with Product with Serializable

    Permalink
  147. sealed abstract class Finger[V, A] extends AnyRef

    Permalink
  148. sealed abstract class FingerTree[V, A] extends AnyRef

    Permalink

    Finger trees with leaves of type A and Nodes that are annotated with type V.

    Finger trees with leaves of type A and Nodes that are annotated with type V.

    Finger Trees provide a base for implementations of various collection types, as described in "Finger trees: a simple general-purpose data structure", by Ralf Hinze and Ross Paterson. A gentle introduction is presented in the blog post "Monoids and Finger Trees" by Heinrich Apfelmus.

    This is done by choosing a a suitable type to annotate the nodes. For example, a binary tree can be implemented by annotating each node with the size of its subtree, while a priority queue can be implemented by labelling the nodes by the minimum priority of its children.

    The operations on FingerTree enforce the constraint measured (in the form of a Reducer instance).

    Finger Trees have excellent (amortized) asymptotic performance:

    • Access to the first and last elements is O(1)
    • Appending/prepending a single value is O(1)
    • Concatenating two trees is (O lg min(l1, l2)) where l1 and l2 are their sizes
    • Random access to an element at n is O(lg min(n, l - n)), where l is the size of the tree.
    • Constructing a tree with n copies of a value is O(lg n).
    V

    The type of the annotations of the nodes (the measure)

    A

    The type of the elements stored at the leaves

    See also

    http://apfelmus.nfshost.com/articles/monoid-fingertree.html

    Finger trees: a simple general-purpose data structure

  149. trait FingerTreeFunctions extends AnyRef

    Permalink
  150. sealed abstract class FingerTreeInstances extends AnyRef

    Permalink
  151. type FirstMaybe[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  152. type FirstOf[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  153. type FirstOption[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  154. trait FoldCase[A] extends AnyRef

    Permalink
  155. sealed abstract class FoldCaseInstances extends AnyRef

    Permalink
  156. trait Foldable[F[_]] extends AnyRef

    Permalink

    A type parameter implying the ability to extract zero or more values of that type.

  157. trait Foldable1[F[_]] extends Foldable[F]

    Permalink

    A scalaz.Foldable where foldMap is total over semigroups.

    A scalaz.Foldable where foldMap is total over semigroups. That is, toList cannot return an empty list.

  158. trait Forall[P[_]] extends AnyRef

    Permalink

    A universally quantified value

  159. trait Foralls extends AnyRef

    Permalink
  160. case class Four[V, A](v: V, a1: A, a2: A, a3: A, a4: A)(implicit r: Reducer[A, V]) extends Finger[V, A] with Product with Serializable

    Permalink
  161. sealed abstract class Free[S[_], A] extends AnyRef

    Permalink

    A free operational monad for some functor S.

    A free operational monad for some functor S. Binding is done using the heap instead of the stack, allowing tail-call elimination.

  162. sealed abstract class FreeAp[F[_], A] extends AnyRef

    Permalink

    Free applicative functors.

    Free applicative functors. Less expressive than free monads, but more flexible to inspect and interpret.

  163. trait FreeFunctions extends AnyRef

    Permalink
  164. sealed abstract class FreeInstances extends FreeInstances0 with TrampolineInstances with SinkInstances with SourceInstances

    Permalink
  165. sealed abstract class FreeInstances0 extends FreeInstances1

    Permalink
  166. sealed abstract class FreeInstances1 extends FreeInstances2

    Permalink
  167. sealed abstract class FreeInstances2 extends FreeInstances3

    Permalink
  168. sealed abstract class FreeInstances3 extends AnyRef

    Permalink
  169. trait Functor[F[_]] extends InvariantFunctor[F]

    Permalink

    Functors, covariant by nature if not by Scala type.

    Functors, covariant by nature if not by Scala type. Their key operation is map, whose behavior is constrained only by type and the functor laws.

    Many useful functors also have natural scalaz.Apply or scalaz.Bind operations. Many also support scalaz.Traverse.

    See also

    scalaz.Functor.FunctorLaw

  170. trait Generator[C[_]] extends AnyRef

    Permalink

    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.

    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. A Reducer may supply efficient left-to-right and right-to-left reduction strategies that a Generator may avail itself of.

  171. trait Generators extends AnyRef

    Permalink
  172. type GlorifiedTuple[+A, +B] = \/[A, B]

    Permalink
  173. sealed abstract class Heap[A] extends AnyRef

    Permalink

    An efficient, asymptotically optimal, implementation of priority queues extended with support for efficient size.

    An efficient, asymptotically optimal, implementation of priority queues extended with support for efficient size.

    The implementation of 'Heap' is based on bootstrapped skew binomial heaps as described by: G. Brodal and C. Okasaki , "Optimal Purely Functional Priority Queues", Journal of Functional Programming 6:839-857 (1996),

    Based on the heaps Haskell library by Edward Kmett

  174. trait HeapFunctions extends AnyRef

    Permalink
  175. sealed abstract class HeapInstances extends AnyRef

    Permalink
  176. trait Hoist[F[_[_], _]] extends MonadTrans[F]

    Permalink
  177. final case class ICons[A](head: A, tail: IList[A]) extends IList[A] with Product with Serializable

    Permalink
  178. sealed abstract class IList[A] extends Product with Serializable

    Permalink

    Safe, invariant alternative to stdlib List.

    Safe, invariant alternative to stdlib List. Most methods on List have a sensible equivalent here, either on the IList interface itself or via typeclass instances (which are the same as those defined for stdlib List). All methods are total and stack-safe.

  179. sealed trait IListFunctions extends AnyRef

    Permalink
  180. sealed abstract class IListInstance0 extends AnyRef

    Permalink
  181. sealed abstract class IListInstances extends IListInstance0

    Permalink
  182. type IMap[A, B] = ==>>[A, B]

    Permalink
  183. final case class INil[A]() extends IList[A] with Product with Serializable

    Permalink
  184. type IRWS[-R, W, -S1, S2, A] = IndexedReaderWriterStateT[scalaz.Id.Id, R, W, S1, S2, A]

    Permalink
  185. type IRWST[F[_], -R, W, -S1, S2, A] = IndexedReaderWriterStateT[F, R, W, S1, S2, A]

    Permalink
  186. sealed abstract class ISet[A] extends AnyRef

    Permalink

  187. sealed trait ISetFunctions extends AnyRef

    Permalink
  188. sealed abstract class ISetInstances extends AnyRef

    Permalink
  189. trait IdInstances extends AnyRef

    Permalink

    Mixed into object Id in the package object scalaz.

  190. final case class IdT[F[_], A](run: F[A]) extends Product with Serializable

    Permalink
  191. trait IdTFunctions extends AnyRef

    Permalink
  192. sealed abstract class IdTInstances extends IdTInstances0

    Permalink
  193. sealed abstract class IdTInstances0 extends IdTInstances1

    Permalink
  194. sealed abstract class IdTInstances1 extends IdTInstances2

    Permalink
  195. sealed abstract class IdTInstances2 extends IdTInstances3

    Permalink
  196. sealed abstract class IdTInstances3 extends AnyRef

    Permalink
  197. sealed abstract class ImmutableArray[+A] extends AnyRef

    Permalink

    An immutable wrapper for arrays

    An immutable wrapper for arrays

    A

    type of the elements of the array

  198. trait ImmutableArrayFunctions extends AnyRef

    Permalink
  199. sealed abstract class ImmutableArrayInstances extends AnyRef

    Permalink
  200. final class IndSeq[A] extends AnyRef

    Permalink

    Indexed sequences, based on scalaz.FingerTree

    Indexed sequences, based on scalaz.FingerTree

    The measure is the count of the preceding elements, provided by UnitReducer((e: Int) => 1).

  201. sealed abstract class IndSeqInstances extends AnyRef

    Permalink
  202. type IndexedCont[R, O, A] = IndexedContsT[scalaz.Id.Id, scalaz.Id.Id, R, O, A]

    Permalink
  203. type IndexedContT[M[_], R, O, A] = IndexedContsT[scalaz.Id.Id, M, R, O, A]

    Permalink
  204. type IndexedConts[W[_], R, O, A] = IndexedContsT[W, scalaz.Id.Id, R, O, A]

    Permalink
  205. final class IndexedContsT[W[_], M[_], R, O, A] extends AnyRef

    Permalink
  206. trait IndexedContsTFunctions extends AnyRef

    Permalink
  207. abstract class IndexedContsTInstances extends IndexedContsTInstances0

    Permalink
  208. sealed abstract class IndexedContsTInstances0 extends AnyRef

    Permalink
  209. type IndexedReaderWriterState[-R, W, -S1, S2, A] = IndexedReaderWriterStateT[scalaz.Id.Id, R, W, S1, S2, A]

    Permalink
  210. sealed abstract class IndexedReaderWriterStateT[F[_], -R, W, -S1, S2, A] extends AnyRef

    Permalink

    A monad transformer stack yielding (R, S1) => F[(W, A, S2)].

  211. sealed abstract class IndexedReaderWriterStateTInstances extends AnyRef

    Permalink
  212. type IndexedState[-S1, S2, A] = IndexedStateT[scalaz.Id.Id, S1, S2, A]

    Permalink
  213. trait IndexedStateFunctions extends AnyRef

    Permalink
  214. trait IndexedStateT[F[_], -S1, S2, A] extends AnyRef

    Permalink
  215. trait IndexedStateTFunctions extends AnyRef

    Permalink
  216. sealed abstract class IndexedStateTInstances extends IndexedStateTInstances0

    Permalink
  217. sealed abstract class IndexedStateTInstances0 extends IndexedStateTInstances1

    Permalink
  218. sealed abstract class IndexedStateTInstances1 extends IndexedStateTInstances2

    Permalink
  219. sealed abstract class IndexedStateTInstances2 extends AnyRef

    Permalink
  220. type IndexedStore[I, A, B] = IndexedStoreT[scalaz.Id.Id, I, A, B]

    Permalink
  221. final case class IndexedStoreT[F[_], +I, A, B](run: (F[(A) ⇒ B], I)) extends Product with Serializable

    Permalink

    See also

    scalaz.Lens

  222. trait IndexedStoreTFunctions extends AnyRef

    Permalink
  223. sealed abstract class IndexedStoreTInstances extends IndexedStoreTInstances0

    Permalink
  224. sealed abstract class IndexedStoreTInstances0 extends IndexedStoreTInstances1

    Permalink
  225. sealed abstract class IndexedStoreTInstances1 extends IndexedStoreTInstances2

    Permalink
  226. sealed abstract class IndexedStoreTInstances2 extends AnyRef

    Permalink
  227. sealed abstract class Inject[F[_], G[_]] extends ~>[F, G]

    Permalink

    Inject type class as described in "Data types a la carte" (Swierstra 2008).

    Inject type class as described in "Data types a la carte" (Swierstra 2008).

    See also

    http://www.staff.science.uu.nl/~swier004/Publications/DataTypesALaCarte.pdf

  228. trait InjectFunctions extends AnyRef

    Permalink
  229. sealed abstract class InjectInstances extends AnyRef

    Permalink
  230. case class Injective[T[_]]() extends Product with Serializable

    Permalink

    Given Injective[Foo]: If type Foo[A] = Foo[B] then A ~ B

    Given Injective[Foo]: If type Foo[A] = Foo[B] then A ~ B

    This represents an assertion that is used by other code that requires this condition.

  231. case class Injective2[T[_, _]]() extends Product with Serializable

    Permalink
  232. case class Injective3[T[_, _, _]]() extends Product with Serializable

    Permalink
  233. case class Injective4[T[_, _, _, _]]() extends Product with Serializable

    Permalink
  234. case class Injective5[T[_, _, _, _, _]]() extends Product with Serializable

    Permalink
  235. trait InvariantFunctor[F[_]] extends AnyRef

    Permalink

    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.

    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.

    An invariant functor must satisfy two laws:

    • identity - xmap(ma)(identity, identity) == ma
    • composite - xmap(xmap(ma, f1, g1), f2, g2) == xmap(ma, f2 compose f1, g1, compose g2)

    Also known as an exponential functor.

    See also

    scalaz.InvariantFunctor.InvariantFunctorLaw

    http://comonad.com/reader/2008/rotten-bananas/

    http://hackage.haskell.org/packages/archive/invariant/latest/doc/html/Data-Functor-Invariant.html

  236. trait IsEmpty[F[_]] extends PlusEmpty[F]

    Permalink

    Typeclass that permits testing whether some type with an empty representation is in fact empty.

  237. trait IsomorphismApplicative[F[_], G[_]] extends Applicative[F] with IsomorphismApply[F, G]

    Permalink
  238. trait IsomorphismApplicativePlus[F[_], G[_]] extends ApplicativePlus[F] with IsomorphismEmpty[F, G] with IsomorphismApplicative[F, G]

    Permalink
  239. trait IsomorphismApply[F[_], G[_]] extends Apply[F] with IsomorphismFunctor[F, G]

    Permalink
  240. trait IsomorphismBifoldable[F[_, _], G[_, _]] extends Bifoldable[F]

    Permalink
  241. trait IsomorphismBifunctor[F[_, _], G[_, _]] extends Bifunctor[F]

    Permalink
  242. trait IsomorphismBind[F[_], G[_]] extends Bind[F] with IsomorphismApply[F, G]

    Permalink
  243. trait IsomorphismBitraverse[F[_, _], G[_, _]] extends Bitraverse[F] with IsomorphismBifunctor[F, G] with IsomorphismBifoldable[F, G]

    Permalink
  244. trait IsomorphismCobind[F[_], G[_]] extends Cobind[F] with IsomorphismFunctor[F, G]

    Permalink
  245. trait IsomorphismComonad[F[_], G[_]] extends Comonad[F] with IsomorphismCobind[F, G]

    Permalink
  246. trait IsomorphismContravariant[F[_], G[_]] extends Contravariant[F]

    Permalink
  247. trait IsomorphismEmpty[F[_], G[_]] extends PlusEmpty[F] with IsomorphismPlus[F, G]

    Permalink
  248. trait IsomorphismEqual[F, G] extends Equal[F]

    Permalink
  249. trait IsomorphismFoldable[F[_], G[_]] extends Foldable[F]

    Permalink
  250. trait IsomorphismFoldable1[F[_], G[_]] extends Foldable1[F] with IsomorphismFoldable[F, G]

    Permalink
  251. trait IsomorphismFunctor[F[_], G[_]] extends Functor[F]

    Permalink
  252. trait IsomorphismMonad[F[_], G[_]] extends Monad[F] with IsomorphismApplicative[F, G] with IsomorphismBind[F, G]

    Permalink
  253. trait IsomorphismMonadPlus[F[_], G[_]] extends MonadPlus[F] with IsomorphismEmpty[F, G] with IsomorphismMonad[F, G]

    Permalink
  254. trait IsomorphismMonoid[F, G] extends Monoid[F] with IsomorphismSemigroup[F, G]

    Permalink
  255. trait IsomorphismOptional[F[_], G[_]] extends Optional[F]

    Permalink
  256. trait IsomorphismOrder[F, G] extends Order[F]

    Permalink
  257. trait IsomorphismPlus[F[_], G[_]] extends Plus[F]

    Permalink
  258. trait IsomorphismSemigroup[F, G] extends Semigroup[F]

    Permalink
  259. trait IsomorphismShow[F, G] extends Show[F]

    Permalink
  260. trait IsomorphismTraverse[F[_], G[_]] extends Traverse[F] with IsomorphismFoldable[F, G] with IsomorphismFunctor[F, G]

    Permalink
  261. trait IsomorphismTraverse1[F[_], G[_]] extends Traverse1[F] with IsomorphismTraverse[F, G] with IsomorphismFoldable1[F, G]

    Permalink
  262. sealed abstract class Isomorphisms extends IsomorphismsLow0

    Permalink
  263. sealed abstract class IsomorphismsLow0 extends IsomorphismsLow1

    Permalink
  264. sealed abstract class IsomorphismsLow1 extends AnyRef

    Permalink
  265. final case class Kleisli[M[_], A, B](run: (A) ⇒ M[B]) extends Product with Serializable

    Permalink

    Represents a function A => M[B].

  266. trait KleisliFunctions extends AnyRef

    Permalink
  267. abstract class KleisliInstances extends KleisliInstances0

    Permalink
  268. sealed abstract class KleisliInstances0 extends KleisliInstances1

    Permalink
  269. sealed abstract class KleisliInstances1 extends KleisliInstances2

    Permalink
  270. sealed abstract class KleisliInstances2 extends KleisliInstances3

    Permalink
  271. sealed abstract class KleisliInstances3 extends KleisliInstances4

    Permalink
  272. sealed abstract class KleisliInstances4 extends KleisliInstances5

    Permalink
  273. sealed abstract class KleisliInstances5 extends KleisliInstances6

    Permalink
  274. sealed abstract class KleisliInstances6 extends KleisliInstances7

    Permalink
  275. sealed abstract class KleisliInstances7 extends KleisliInstances8

    Permalink
  276. sealed abstract class KleisliInstances8 extends AnyRef

    Permalink
  277. trait Konst[A] extends AnyRef

    Permalink
  278. trait Lan[G[_], H[_], A] extends AnyRef

    Permalink

    The left Kan extension of H along G

  279. type LastMaybe[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  280. type LastOf[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  281. type LastOption[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  282. sealed abstract class LazyEither[+A, +B] extends AnyRef

    Permalink

    scala.Either, but with a value by name.

  283. trait LazyEitherFunctions extends AnyRef

    Permalink
  284. sealed abstract class LazyEitherInstances extends AnyRef

    Permalink
  285. final case class LazyEitherT[F[_], A, B](run: F[LazyEither[A, B]]) extends Product with Serializable

    Permalink
  286. trait LazyEitherTFunctions extends AnyRef

    Permalink
  287. sealed abstract class LazyEitherTInstances extends LazyEitherTInstances0

    Permalink
  288. sealed abstract class LazyEitherTInstances0 extends LazyEitherTInstances1

    Permalink
  289. sealed abstract class LazyEitherTInstances1 extends AnyRef

    Permalink
  290. sealed abstract class LazyOption[+A] extends Product with Serializable

    Permalink

    scala.Option, but with a value by name.

  291. trait LazyOptionFunctions extends AnyRef

    Permalink
  292. sealed abstract class LazyOptionInstances extends AnyRef

    Permalink
  293. final case class LazyOptionT[F[_], A](run: F[LazyOption[A]]) extends Product with Serializable

    Permalink
  294. trait LazyOptionTFunctions extends AnyRef

    Permalink
  295. sealed abstract class LazyOptionTInstances extends LazyOptionTInstances0

    Permalink
  296. sealed abstract class LazyOptionTInstances0 extends LazyOptionTInstances1

    Permalink
  297. sealed abstract class LazyOptionTInstances1 extends AnyRef

    Permalink
  298. sealed abstract class LazyTuple2[A, B] extends AnyRef

    Permalink

    scala.Tuple2, but with values by name.

  299. sealed abstract class LazyTuple2Instances extends LazyTuple2Instances0

    Permalink
  300. sealed abstract class LazyTuple2Instances0 extends AnyRef

    Permalink
  301. sealed abstract class LazyTuple3[A, B, C] extends AnyRef

    Permalink

    scala.Tuple3, but with values by name.

  302. sealed abstract class LazyTuple3Instances extends LazyTuple3Instances0

    Permalink
  303. sealed abstract class LazyTuple3Instances0 extends AnyRef

    Permalink
  304. sealed abstract class LazyTuple4[A, B, C, D] extends AnyRef

    Permalink

    scala.Tuple4, but with values by name.

  305. sealed abstract class LazyTuple4Instances extends LazyTuple4Instances0

    Permalink
  306. sealed abstract class LazyTuple4Instances0 extends AnyRef

    Permalink
  307. trait LazyTupleFunctions extends AnyRef

    Permalink
  308. final case class Left3[+A, +B, +C](a: A) extends Either3[A, B, C] with Product with Serializable

    Permalink
  309. sealed abstract class Leibniz[-L, +H >: L, A >: L <: H, B >: L <: H] extends AnyRef

    Permalink

    Leibnizian equality: a better =:=

    Leibnizian equality: a better =:=

    This technique was first used in Typing Dynamic Typing (Baars and Swierstra, ICFP 2002).

    It is generalized here to handle subtyping so that it can be used with constrained type constructors.

    Leibniz[L,H,A,B] says that A = B, and that both of its types are between L and H. Subtyping lets you loosen the bounds on L and H.

    If you just need a witness that A = B, then you can use A===B which is a supertype of any Leibniz[L,H,A,B]

    The more refined types are useful if you need to be able to substitute into restricted contexts.

  310. trait LeibnizFunctions extends AnyRef

    Permalink
  311. sealed abstract class LeibnizInstances extends AnyRef

    Permalink
  312. type Lens[A, B] = LensFamily[A, A, B, B]

    Permalink

    A lens that doesn't transform the type of the record.

    A lens that doesn't transform the type of the record.

    See also

    scalaz.@>

  313. sealed abstract class LensFamily[A1, A2, B1, B2] extends AnyRef

    Permalink

    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.

    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. scalaz.Lens is a convenient alias for when A1 =:= A2, and B1 =:= B2.

    The term field should not be interpreted restrictively to mean a member of a class. For example, a lens family can address membership of a Set.

    A1

    The initial type of the record

    A2

    The final type of the record

    B1

    The initial type of the field

    B2

    The final type of the field

    See also

    scalaz.PLens

  314. trait LensFamilyFunctions extends AnyRef

    Permalink
  315. trait LensFunctions extends LensFamilyFunctions

    Permalink
  316. abstract class LensInstances extends LensInstances0

    Permalink
  317. sealed abstract class LensInstances0 extends AnyRef

    Permalink
  318. sealed abstract class Liskov[-A, +B] extends AnyRef

    Permalink

    Liskov substitutability: A better <:<

    Liskov substitutability: A better <:<

    A <: B holds whenever A could be used in any negative context that expects a B. (e.g. if you could pass an A into any function that expects a B.)

  319. trait LiskovFunctions extends AnyRef

    Permalink
  320. sealed abstract class LiskovInstances extends AnyRef

    Permalink
  321. final case class ListT[M[_], A](run: M[List[A]]) extends Product with Serializable

    Permalink

    ListT monad transformer.

  322. sealed abstract class ListTInstances extends ListTInstances1

    Permalink
  323. sealed abstract class ListTInstances1 extends ListTInstances2

    Permalink
  324. sealed abstract class ListTInstances2 extends AnyRef

    Permalink
  325. trait MapFunctions extends AnyRef

    Permalink
  326. sealed abstract class MapInstances extends MapInstances0

    Permalink
  327. sealed abstract class MapInstances0 extends AnyRef

    Permalink
  328. type MaxMaybe[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  329. type MaxOf[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  330. type MaxOption[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  331. sealed abstract class Maybe[A] extends AnyRef

    Permalink

    An optional value

    An optional value

    A Maybe[A] will either be a wrapped A instance (Just[A]), or a lack of underlying A instance (Empty[A]).

    Maybe[A] is isomorphic to Option[A], however there are some differences between the two. Maybe is invariant in A while Option is covariant. Maybe[A] does not expose an unsafe get operation to access the underlying A value (that may not exist) like Option[A] does. Maybe[A] does not come with an implicit conversion to Iterable[A] (a trait with over a dozen super types).

  332. sealed trait MaybeFunctions extends AnyRef

    Permalink
  333. sealed abstract class MaybeInstances extends AnyRef

    Permalink
  334. final case class MaybeT[F[_], A](run: F[Maybe[A]]) extends Product with Serializable

    Permalink

    monad transformer for Maybe

  335. trait MaybeTFunctions extends AnyRef

    Permalink
  336. sealed abstract class MaybeTInstances extends MaybeTInstances0

    Permalink
  337. sealed abstract class MaybeTInstances0 extends MaybeTInstances1

    Permalink
  338. sealed abstract class MaybeTInstances1 extends MaybeTInstances2

    Permalink
  339. sealed abstract class MaybeTInstances2 extends AnyRef

    Permalink
  340. sealed trait Memo[K, V] extends AnyRef

    Permalink

    A function memoization strategy.

    A function memoization strategy. See companion for various instances employing various strategies.

  341. trait MemoFunctions extends AnyRef

    Permalink

  342. sealed abstract class MemoInstances extends AnyRef

    Permalink
  343. final case class Middle3[+A, +B, +C](b: B) extends Either3[A, B, C] with Product with Serializable

    Permalink
  344. type MinMaybe[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  345. type MinOf[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  346. type MinOption[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
  347. trait Monad[F[_]] extends Applicative[F] with Bind[F]

    Permalink

    Monad, an scalaz.Applicative that also supports scalaz.Bind, circumscribed by the monad laws.

    Monad, an scalaz.Applicative that also supports scalaz.Bind, circumscribed by the monad laws.

    See also

    scalaz.Monad.MonadLaw

  348. trait MonadError[F[_, _], E] extends Monad[[α]F[E, α]]

    Permalink
  349. trait MonadListen[F[_, _], W] extends MonadTell[F, W]

    Permalink
  350. trait MonadPartialOrder[G[_], F[_]] extends NaturalTransformation[F, G]

    Permalink

    This trait establishes a partial order among monads.

    This trait establishes a partial order among monads. A "bigger" monad is one that does all of the effects of the "smaller" as part of its execution.

  351. trait MonadPartialOrderFunctions extends MonadPartialOrderFunctions1

    Permalink
  352. sealed trait MonadPartialOrderFunctions1 extends AnyRef

    Permalink
  353. trait MonadPlus[F[_]] extends Monad[F] with ApplicativePlus[F]

    Permalink

  354. trait MonadReader[F[_, _], S] extends Monad[[x]F[S, x]]

    Permalink
  355. trait MonadState[F[_, _], S] extends Monad[[x]F[S, x]]

    Permalink

    The class of monads supporting the operations of scalaz.State.

  356. trait MonadTell[F[_, _], W] extends Monad[[α]F[W, α]]

    Permalink

    The class of monads supporting write operations

  357. trait MonadTrans[F[_[_], _]] extends AnyRef

    Permalink

    Class of monad transformers.

  358. trait Monoid[F] extends Semigroup[F]

    Permalink

    Provides an identity element (zero) to the binary append operation in scalaz.Semigroup, subject to the monoid laws.

    Provides an identity element (zero) to the binary append operation in scalaz.Semigroup, subject to the monoid laws.

    Example instances:

    • Monoid[Int]: zero and append are 0 and Int#+ respectively
    • Monoid[List[A]]: zero and append are Nil and List#++ respectively

    References:

    See also

    scalaz.Monoid.MonoidLaw

    scalaz.syntax.MonoidOps

  359. sealed abstract class Name[+A] extends AnyRef

    Permalink

    Call by name

  360. trait NaturalTransformation[-F[_], +G[_]] extends AnyRef

    Permalink

    A universally quantified function, usually written as F ~> G, for symmetry with A => B.

    A universally quantified function, usually written as F ~> G, for symmetry with A => B.

    Can be used to encode first-class functor transformations in the same way functions encode first-class concrete value morphisms; for example, sequence from scalaz.Traverse and cosequence from scalaz.Distributive give rise to ([a]T[A[a]]) ~> ([a]A[T[a]]), for varying A and T constraints.

  361. trait NaturalTransformations extends AnyRef

    Permalink
  362. sealed abstract class Need[+A] extends Name[A]

    Permalink

    Call by need

  363. sealed abstract class Node[V, A] extends AnyRef

    Permalink
  364. type NonEmptyIList[A] = OneAnd[IList, A]

    Permalink
  365. final class NonEmptyList[+A] extends AnyRef

    Permalink

    A singly-linked list that is guaranteed to be non-empty.

  366. trait NonEmptyListFunctions extends AnyRef

    Permalink
  367. sealed abstract class NonEmptyListInstances extends NonEmptyListInstances0

    Permalink
  368. sealed abstract class NonEmptyListInstances0 extends AnyRef

    Permalink
  369. trait Nondeterminism[F[_]] extends Monad[F]

    Permalink

    A context supporting nondeterministic choice.

    A context supporting nondeterministic choice. Unlike Monad.bind, which imposes a total order on the sequencing of effects throughout a computation, the choose and chooseAny operations let us partially order the sequencing of effects. Canonical instances are concurrent.Future and concurrent.Task, which run their arguments in parallel, returning whichever comes back 'first'.

    TODO - laws

  370. sealed trait NotNothing[A] extends AnyRef

    Permalink
  371. final class NullArgument[A, B] extends AnyRef

    Permalink
  372. trait NullArgumentFunctions extends AnyRef

    Permalink
  373. sealed abstract class NullArgumentInstances extends NullArgumentInstances0

    Permalink
  374. sealed abstract class NullArgumentInstances0 extends AnyRef

    Permalink
  375. final class NullResult[A, B] extends AnyRef

    Permalink
  376. trait NullResultFunctions extends AnyRef

    Permalink
  377. sealed abstract class NullResultInstances extends NullResultInstances0

    Permalink
  378. sealed abstract class NullResultInstances0 extends AnyRef

    Permalink
  379. case class One[V, A](v: V, a1: A)(implicit r: Reducer[A, V]) extends Finger[V, A] with Product with Serializable

    Permalink
  380. final case class OneAnd[F[_], A](head: A, tail: F[A]) extends Product with Serializable

    Permalink

    A generalization of NonEmptyList to non-List things.

    A generalization of NonEmptyList to non-List things. For example, OneAnd[Vector, A] is a non-empty Vector of A.

    Only head and tail are provided as direct methods, because there's little you can do with a OneAnd without knowing a bit about F. So useful functions are provided in the form of typeclass instances on OneAnd's companion; in combination with syntax extensions provided by scalaz.syntax, OneAnd has a large possible set of methods available by importing. For example, Applicative on this requires ApplicativePlus[F], and Traverse1 on this requires Traverse[F]. See the companion documentation for a complete list of instances.

    Additionally, unlike λ[α => (α, F[α])], the behavior of typeclass operations on OneAnd should be preserved across the natural transformation to scalaz.NonEmptyList where one exists. That is it should "be like" a nonempty structure. For example, ap-ing two OneAnd[Vector, ?]s or NonEmptyLists of lengths *a* and *b* yields a sequence of same type of length *a*×*b*, but two λ[α => (α, Vector[α])]s of length *c* and *d* ap to one of length 1+(*c*–1)×(*d*–1). For another example, point of the former two yield a one-element sequence, but point of the latter yields a two-element sequence.

    Since

    7.0.3

  381. trait OneAndFunctions extends AnyRef

    Permalink
  382. sealed abstract class OneAndInstances extends OneAndInstances0

    Permalink
  383. sealed abstract class OneAndInstances0 extends OneAndInstances1

    Permalink
  384. sealed abstract class OneAndInstances1 extends OneAndInstances2

    Permalink
  385. sealed abstract class OneAndInstances2 extends OneAndInstances3

    Permalink
  386. sealed abstract class OneAndInstances3 extends OneAndInstances4

    Permalink
  387. sealed abstract class OneAndInstances4 extends OneAndInstances5

    Permalink
  388. sealed abstract class OneAndInstances5 extends AnyRef

    Permalink
  389. final case class OneOr[F[_], A](run: \/[F[A], A]) extends Product with Serializable

    Permalink

    Since

    7.0.3

  390. trait OneOrFunctions extends AnyRef

    Permalink
  391. sealed abstract class OneOrInstances extends OneOrInstances0

    Permalink
  392. sealed abstract class OneOrInstances0 extends OneOrInstances1

    Permalink
  393. sealed abstract class OneOrInstances1 extends OneOrInstances2

    Permalink
  394. sealed abstract class OneOrInstances2 extends OneOrInstances3

    Permalink
  395. sealed abstract class OneOrInstances3 extends OneOrInstances4

    Permalink
  396. sealed abstract class OneOrInstances4 extends OneOrInstances5

    Permalink
  397. sealed abstract class OneOrInstances5 extends OneOrInstances6

    Permalink
  398. sealed abstract class OneOrInstances6 extends AnyRef

    Permalink
  399. final case class OptionT[F[_], A](run: F[Option[A]]) extends Product with Serializable

    Permalink

    OptionT monad transformer.

  400. trait OptionTFunctions extends AnyRef

    Permalink
  401. sealed abstract class OptionTInstances extends OptionTInstances0

    Permalink
  402. sealed abstract class OptionTInstances0 extends OptionTInstances1

    Permalink
  403. sealed abstract class OptionTInstances1 extends OptionTInstances2

    Permalink
  404. sealed abstract class OptionTInstances2 extends AnyRef

    Permalink
  405. trait Optional[F[_]] extends AnyRef

    Permalink

    Abstraction over a container/context which may or may not provide a value.

    Abstraction over a container/context which may or may not provide a value.

    F

    the container/context type

    See also

    syntax.OptionalOps

  406. sealed abstract class OrdSeq[A] extends Ops[FingerTree[LastOption[A], A]]

    Permalink

    Ordered sequences, based on scalaz.FingerTree

    Ordered sequences, based on scalaz.FingerTree

    a has a higher priority than b if Order[A].greaterThan(a, b).

    insert and ++ maintains the ordering.

    The measure is calculated with a Monoid[Option[A] @@ Last], whose append operation favours the first argument. Accordingly, the measuer of a node is the item with the highest priority contained recursively below that node.

  407. trait Order[F] extends Equal[F]

    Permalink

    Safer version of scala.math.Ordering.

  408. sealed abstract class Ordering extends AnyRef

    Permalink

    A ternary marker of how two values relate in an ordering.

    A ternary marker of how two values relate in an ordering.

    Note

    scalaz calls its version of scala.math.Ordering, scalaz.Order. This Ordering is analogous to the Ints returned by scala.math.Ordering.

  409. trait OrderingFunctions extends AnyRef

    Permalink
  410. sealed abstract class OrderingInstances extends AnyRef

    Permalink
  411. type PIndexedState[-S1, S2, A] = IndexedStateT[scalaz.Id.Id, S1, S2, Option[A]]

    Permalink
  412. type PIndexedStateT[F[_], -S1, S2, A] = IndexedStateT[F, S1, S2, Option[A]]

    Permalink
  413. type PLens[A, B] = PLensFamily[A, A, B, B]

    Permalink

    A partial lens that doesn't transform the type of the record.

    A partial lens that doesn't transform the type of the record.

    See also

    scalaz.@?>

  414. sealed abstract class PLensFamily[A1, A2, B1, B2] extends AnyRef

    Permalink

    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.

    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. scalaz.PLens is a convenient alias for when A1 =:= A2, and B1 =:= B2.

    The term field should not be interpreted restrictively to mean a member of a class. For example, a partial lens family can address the nth element of a List.

    A1

    The initial type of the record

    A2

    The final type of the record

    B1

    The initial type of the optional field

    B2

    The final type of the optional field

    See also

    scalaz.Lens

  415. trait PLensFamilyFunctions extends PLensInstances

    Permalink
  416. trait PLensFunctions extends PLensInstances with PLensFamilyFunctions

    Permalink
  417. abstract class PLensInstances extends AnyRef

    Permalink
  418. type PState[S, A] = IndexedStateT[scalaz.Id.Id, S, S, Option[A]]

    Permalink
  419. type PStateT[F[_], S, A] = IndexedStateT[F, S, S, Option[A]]

    Permalink
  420. trait Plus[F[_]] extends AnyRef

    Permalink

    Universally quantified scalaz.Semigroup.

  421. trait PlusEmpty[F[_]] extends Plus[F]

    Permalink

    Universally quantified scalaz.Monoid.

  422. trait ProChoice[=>:[_, _]] extends Profunctor[=>:]

    Permalink

    Strength on a coproduct.

  423. trait Profunctor[=>:[_, _]] extends AnyRef

    Permalink

    Profunctors are covariant on the right and contravariant on the left.

  424. type RWS[-R, W, S, A] = IndexedReaderWriterStateT[scalaz.Id.Id, R, W, S, S, A]

    Permalink
  425. type RWST[F[_], -R, W, S, A] = IndexedReaderWriterStateT[F, R, W, S, S, A]

    Permalink
  426. trait Ran[G[_], H[_], A] extends AnyRef

    Permalink

    The right Kan extension of H along G

  427. case class Ranked[A](rank: Int, value: A) extends Product with Serializable

    Permalink
  428. type Reader[E, A] = Kleisli[scalaz.Id.Id, E, A]

    Permalink
  429. type ReaderT[F[_], E, A] = Kleisli[F, E, A]

    Permalink
  430. type ReaderWriterState[-R, W, S, A] = IndexedReaderWriterStateT[scalaz.Id.Id, R, W, S, S, A]

    Permalink
  431. type ReaderWriterStateT[F[_], -R, W, S, A] = IndexedReaderWriterStateT[F, R, W, S, S, A]

    Permalink
  432. trait ReaderWriterStateTFunctions extends AnyRef

    Permalink
  433. abstract class ReaderWriterStateTInstances extends IndexedReaderWriterStateTInstances

    Permalink
  434. sealed abstract class Reducer[C, M] extends AnyRef

    Permalink

    A Reducer[C,M] is a scalaz.Monoid[M] that maps values of type C through unit to values of type M.

    A Reducer[C,M] is a scalaz.Monoid[M] that maps values of type C through unit to values of type M. A C-Reducer may also supply operations which tack on another C to an existing Monoid M on the left or right. These specialized reductions may be more efficient in some scenarios and are used when appropriate by a scalaz.Generator. The names cons and snoc work by analogy to the synonymous operations in the list monoid.

    Minimal definition: unit or snoc

    Based on a Haskell library by Edward Kmett

  435. trait ReducerFunctions extends AnyRef

    Permalink
  436. sealed abstract class ReducerInstances extends AnyRef

    Permalink
  437. abstract class Representable[F[_], X] extends AnyRef

    Permalink

    Representable functors, that is to say, those with isomorphisms to and from [a](X => a).

    Representable functors, that is to say, those with isomorphisms to and from [a](X => a). As such, all typeclasses and operations on [a](X => a), that is, fixed in X, can be trivially derived for F.

  438. sealed abstract class RepresentableInstances extends AnyRef

    Permalink
  439. final case class Right3[+A, +B, +C](c: C) extends Either3[A, B, C] with Product with Serializable

    Permalink
  440. trait Semigroup[F] extends AnyRef

    Permalink

    An associative binary operation, circumscribed by type and the semigroup laws.

    An associative binary operation, circumscribed by type and the semigroup laws. Unlike scalaz.Monoid, there is not necessarily a zero.

    See also

    http://mathworld.wolfram.com/Semigroup.html

    scalaz.syntax.SemigroupOps

    scalaz.Semigroup.SemigroupLaw

  441. trait Show[F] extends AnyRef

    Permalink

    A typeclass for conversion to textual representation, done via scalaz.Cord for efficiency.

  442. sealed trait SinkInstances extends AnyRef

    Permalink
  443. sealed trait SourceInstances extends AnyRef

    Permalink
  444. trait Split[=>:[_, _]] extends Compose[=>:]

    Permalink

    A scalaz.Compose (semigroupoid) permitting products.

  445. type State[S, A] = IndexedStateT[scalaz.Id.Id, S, S, A]

    Permalink

    A state transition, representing a function S => (S, A).

  446. trait StateFunctions extends IndexedStateFunctions

    Permalink
  447. type StateT[F[_], S, A] = IndexedStateT[F, S, S, A]

    Permalink
  448. trait StateTFunctions extends IndexedStateTFunctions

    Permalink
  449. abstract class StateTInstances extends StateTInstances0

    Permalink
  450. sealed abstract class StateTInstances0 extends StateTInstances1

    Permalink
  451. sealed abstract class StateTInstances1 extends IndexedStateTInstances

    Permalink
  452. type Store[A, B] = IndexedStoreT[scalaz.Id.Id, A, A, B]

    Permalink
  453. type StoreT[F[_], A, B] = IndexedStoreT[F, A, A, B]

    Permalink
  454. trait StoreTFunctions extends IndexedStoreTFunctions

    Permalink
  455. abstract class StoreTInstances extends StoreTInstances0

    Permalink
  456. sealed abstract class StoreTInstances0 extends StoreTInstances1

    Permalink
  457. sealed abstract class StoreTInstances1 extends StoreTInstances2

    Permalink
  458. sealed abstract class StoreTInstances2 extends IndexedStoreTInstances

    Permalink
  459. sealed class StreamT[M[_], A] extends AnyRef

    Permalink

    StreamT monad transformer.

  460. sealed abstract class StreamTInstances extends StreamTInstances0

    Permalink
  461. sealed abstract class StreamTInstances0 extends AnyRef

    Permalink
  462. final case class Success[A](a: A) extends Validation[Nothing, A] with Product with Serializable

    Permalink
  463. trait TheseFunctions extends AnyRef

    Permalink
  464. sealed abstract class TheseInstances extends TheseInstances0

    Permalink
  465. sealed abstract class TheseInstances0 extends TheseInstances1

    Permalink
  466. sealed abstract class TheseInstances1 extends AnyRef

    Permalink
  467. case class Three[V, A](v: V, a1: A, a2: A, a3: A)(implicit r: Reducer[A, V]) extends Finger[V, A] with Product with Serializable

    Permalink
  468. type Traced[A, B] = TracedT[scalaz.Id.Id, A, B]

    Permalink
  469. final case class TracedT[W[_], A, B](run: W[(A) ⇒ B]) extends Product with Serializable

    Permalink

  470. sealed abstract class TracedTInstances extends TracedTInstances0

    Permalink
  471. sealed abstract class TracedTInstances0 extends TracedTInstances1

    Permalink
  472. sealed abstract class TracedTInstances1 extends TracedTInstances2

    Permalink
  473. sealed abstract class TracedTInstances2 extends TracedTInstances3

    Permalink
  474. sealed abstract class TracedTInstances3 extends TracedTInstances4

    Permalink
  475. sealed abstract class TracedTInstances4 extends AnyRef

    Permalink
  476. sealed trait TrampolineInstances extends AnyRef

    Permalink
  477. trait Traverse[F[_]] extends Functor[F] with Foldable[F]

    Permalink

    Idiomatic traversal of a structure, as described in The Essence of the Iterator Pattern.

    Idiomatic traversal of a structure, as described in The Essence of the Iterator Pattern.

    See also

    scalaz.Traverse.TraverseLaw

  478. trait Traverse1[F[_]] extends Traverse[F] with Foldable1[F]

    Permalink

    A scalaz.Traverse where traverse is total over scalaz.Applys.

    A scalaz.Traverse where traverse is total over scalaz.Applys. That is, toList cannot return an empty list.

  479. sealed abstract class Tree[A] extends AnyRef

    Permalink

    A multi-way tree, also known as a rose tree.

    A multi-way tree, also known as a rose tree. Also known as Cofree[Stream, A].

  480. trait TreeFunctions extends AnyRef

    Permalink
  481. sealed abstract class TreeInstances extends AnyRef

    Permalink
  482. final case class TreeLoc[A](tree: Tree[A], lefts: TreeLoc.TreeForest[A], rights: TreeLoc.TreeForest[A], parents: TreeLoc.Parents[A]) extends Product with Serializable

    Permalink

    A rose-tree zipper.

    A rose-tree zipper. Represents a scalaz.Tree together with a position in that tree. Provides navigation, persistent update, insertion, and deletes.

    tree

    The currently selected node.

    lefts

    The left siblings of the current node.

    rights

    The right siblings of the current node.

    parents

    The parent contexts of the current node.

  483. trait TreeLocFunctions extends AnyRef

    Permalink
  484. sealed abstract class TreeLocInstances extends AnyRef

    Permalink
  485. case class Two[V, A](v: V, a1: A, a2: A)(implicit r: Reducer[A, V]) extends Finger[V, A] with Product with Serializable

    Permalink
  486. trait Unapply[TC[_[_]], MA] extends AnyRef

    Permalink

    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].

    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].

    The implicit conversions in the companion object provide a means to obtain type class instances for partially applied type constructors, in lieu of direct compiler support as described in SI-2712.

    // Directly depending on Applicative[G]
    def traverse[G[_], B](f: A => G[B])(implicit G: Applicative[G]): G[F[B]] =
      G.traverse(self)(f)
    
    // Indirect lookup of the Applicative instance
    // Requires the -Ydep-method-types flag to scalac with scala 2.9.x (not required with 2.10)
    def traverseI[GB](f: A => GB)(implicit G: Unapply[Applicative, GB]): G.M[F[G.A]] /*G[F[B]*/ = {
      G.TC.traverse(self)(a => G(f(a)))
    }
    
    // Deforested version of traverseI
    def traverseI2[GB](f: A => GB)(implicit G: Unapply[Applicative, GB]): G.M[F[G.A]] /*G[F[B]*/ = {
      G.TC.traverse(self)(G.leibniz.onF(f))
    }
    
    // Old usage
    def stateTraverse1 {
      import scalaz._, Scalaz._
      import State.{State, stateMonad}
      val ls = List(1, 2, 3)
      val traverseOpt: Option[List[Int]] = ls.traverse(a => Some(a))
      val traverseState: State[Int, List[Int]] = ls.traverse[({type λ[α]=State[Int, α]})#λ, Int](a => State((x: Int) => (x + 1, a)))
    }
    
    // New usage
    def stateTraverse2 {
      import scalaz._, Scalaz._
      val ls = List(1, 2, 3)
      val traverseOpt: Option[List[Int]] = ls.traverseI(a => some(a))
      val traverseState = ls.traverseI(a => State((x: Int) => (x + 1, a)))
    }

    Credits to Miles Sabin.

    Annotations
    @implicitNotFound( ... )
  487. trait Unapply2[TC[_[_, _]], MAB] extends AnyRef

    Permalink
  488. trait Unapply21[TC[_[_, _], _], MAB] extends AnyRef

    Permalink
  489. sealed trait Unapply2_0 extends AnyRef

    Permalink
  490. trait UnapplyProduct[TC[_[_]], MA, MB] extends AnyRef

    Permalink
  491. sealed trait Unapply_0 extends Unapply_1

    Permalink
  492. sealed trait Unapply_1 extends Unapply_2

    Permalink
  493. sealed trait Unapply_2 extends Unapply_3

    Permalink
  494. sealed trait Unapply_3 extends Unapply_4

    Permalink
  495. sealed trait Unapply_4 extends AnyRef

    Permalink
  496. sealed abstract class UnitReducer[C, M] extends Reducer[C, M]

    Permalink
  497. type Unwriter[W, A] = UnwriterT[scalaz.Id.Id, W, A]

    Permalink
  498. final case class UnwriterT[F[_], U, A](run: F[(U, A)]) extends Product with Serializable

    Permalink

    This data type is isomorphic to WriterT, however, it is NOT a monad.

    This data type is isomorphic to WriterT, however, it is NOT a monad.

    It implements flatMap+map and drops the write value. There is no Monoid or Semigroup required. There is no point operation. You can switch between WriterT and UnwriterT with unary_+ and unary_-.

  499. trait UnwriterTFunctions extends AnyRef

    Permalink
  500. sealed abstract class UnwriterTInstances extends UnwriterTInstances0

    Permalink
  501. sealed abstract class UnwriterTInstances0 extends UnwriterTInstances1

    Permalink
  502. sealed abstract class UnwriterTInstances1 extends UnwriterTInstances2

    Permalink
  503. sealed abstract class UnwriterTInstances2 extends AnyRef

    Permalink
  504. trait Unzip[F[_]] extends AnyRef

    Permalink

  505. sealed abstract class Validation[+E, +A] extends Product with Serializable

    Permalink

    Represents either:

    Represents either:

    • Success(a), or
    • Failure(e).

    Isomorphic to scala.Either and scalaz.\/. The motivation for a Validation is to provide the instance Applicativea that accumulate failures through a scalaz.Semigroup[E].

    scalaz.NonEmptyList is commonly chosen as a type constructor for the type E. As a convenience, an alias scalaz.ValidationNel[E] is provided as a shorthand for scalaz.Validation[NonEmptyList[E]], and a method Validation#toValidationNel converts Validation[E] to ValidationNel[E].

    Example:

    import scalaz._, std.AllInstances._
    
    def parseInt(s: String): Validation[String, Int] =
      try { Success(s.toInt) } catch { case ex: NumberFormatException => Failure(ex.getMessage) }
    val V = Applicative[({type λ[α]=ValidationNel[String, α]})#λ]
    
    val x: ValidationNel[String, Int] =
      V.apply2(parseInt("1.x").toValidationNel, parseInt("1..0").toValidationNel)(_ * _)
      // Failure(NonEmptyList(For input string: "1..0", For input string: "1.x"))
    E

    The type of the Failure

    A

    The type of the Success

  506. final class ValidationFlatMap[E, A] extends AnyRef

    Permalink
  507. trait ValidationFunctions extends AnyRef

    Permalink
  508. sealed abstract class ValidationInstances extends ValidationInstances0

    Permalink
  509. sealed abstract class ValidationInstances0 extends ValidationInstances1

    Permalink
  510. sealed abstract class ValidationInstances1 extends ValidationInstances2

    Permalink
  511. sealed abstract class ValidationInstances2 extends ValidationInstances3

    Permalink
  512. sealed abstract class ValidationInstances3 extends AnyRef

    Permalink
  513. type ValidationNel[+E, +X] = Validation[NonEmptyList[E], X]

    Permalink

    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.

  514. final case class Value[+A](value: A) extends Need[A] with Product with Serializable

    Permalink

    Call by value

  515. sealed abstract class ViewL[S[_], A] extends AnyRef

    Permalink

    View of the left end of a sequence.

  516. sealed abstract class ViewR[S[_], A] extends AnyRef

    Permalink

    View of the right end of a sequence.

  517. type Writer[W, A] = WriterT[scalaz.Id.Id, W, A]

    Permalink
  518. final case class WriterT[F[_], W, A](run: F[(W, A)]) extends Product with Serializable

    Permalink
  519. trait WriterTFunctions extends AnyRef

    Permalink
  520. sealed abstract class WriterTInstance5 extends WriterTInstances6

    Permalink
  521. sealed abstract class WriterTInstances extends WriterTInstances0

    Permalink
  522. sealed abstract class WriterTInstances0 extends WriterTInstances1

    Permalink
  523. sealed abstract class WriterTInstances1 extends WriterTInstances2

    Permalink
  524. sealed abstract class WriterTInstances10 extends WriterTInstances11

    Permalink
  525. sealed abstract class WriterTInstances11 extends WriterTInstances12

    Permalink
  526. sealed abstract class WriterTInstances12 extends AnyRef

    Permalink
  527. sealed abstract class WriterTInstances2 extends WriterTInstances3

    Permalink
  528. sealed abstract class WriterTInstances3 extends WriterTInstances4

    Permalink
  529. sealed abstract class WriterTInstances4 extends WriterTInstance5

    Permalink
  530. sealed abstract class WriterTInstances6 extends WriterTInstances7

    Permalink
  531. sealed abstract class WriterTInstances7 extends WriterTInstances8

    Permalink
  532. sealed abstract class WriterTInstances8 extends WriterTInstances9

    Permalink
  533. sealed abstract class WriterTInstances9 extends WriterTInstances10

    Permalink
  534. abstract class Yoneda[F[_], A] extends AnyRef

    Permalink

    The cofree functor generated by F.

    The cofree functor generated by F. The Yoneda lemma says that Yoneda[F,A] is isomorphic to F[A] for any functor F. The homomorphism from Yoneda[F,A] to F[A] exists even when we have forgotten that F is a functor. Can be seen as a partially applied map for the functor F.

  535. trait Zap[F[_], G[_]] extends AnyRef

    Permalink

    Functors that annihilate each other.

  536. sealed abstract class ZapInstances extends AnyRef

    Permalink
  537. trait Zip[F[_]] extends AnyRef

    Permalink

  538. final case class Zipper[+A](lefts: Stream[A], focus: A, rights: Stream[A]) extends Product with Serializable

    Permalink

    Provides a pointed stream, which is a non-empty zipper-like stream structure that tracks an index (focus) position in a stream.

    Provides a pointed stream, which is a non-empty zipper-like stream structure that tracks an index (focus) position in a stream. Focus can be moved forward and backwards through the stream, elements can be inserted before or after the focused position, and the focused item can be deleted.

    Based on the pointedlist library by Jeff Wheeler.

  539. trait ZipperFunctions extends AnyRef

    Permalink
  540. sealed abstract class ZipperInstances extends AnyRef

    Permalink
  541. sealed abstract class \&/[+A, +B] extends Product with Serializable

    Permalink

    Since

    7.0.3

  542. sealed abstract class \/[+A, +B] extends Product with Serializable

    Permalink

    Represents a disjunction: a result that is either an A or a B.

    Represents a disjunction: a result that is either an A or a B.

    An instance of A \/ B is either a -\/[A] (aka a "left") or a \/-[B] (aka a "right").

    A common use of a disjunction is to explicitly represent the possibility of failure in a result as opposed to throwing an exception. By convention, the left is used for errors and the right is reserved for successes. For example, a function that attempts to parse an integer from a string may have a return type of NumberFormatException \/ Int. However, since there is no need to actually throw an exception, the type (A) chosen for the "left" could be any type representing an error and has no need to actually extend Exception.

    A \/ B is isomorphic to scala.Either[A, B], but \/ is right-biased, so methods such as map and flatMap apply only in the context of the "right" case. This right bias makes \/ more convenient to use than scala.Either in a monadic context. Methods such as swap, swapped, and leftMap provide functionality that scala.Either exposes through left projections.

    A \/ B is also isomorphic to Validation[A, B]. The subtle but important difference is that Applicative instances for Validation accumulates errors ("lefts") while Applicative instances for \/ fail fast on the first "left" they evaluate. This fail-fast behavior allows \/ to have lawful Monad instances that are consistent with their Applicative instances, while Validation cannot.

  543. final case class \/-[+B](b: B) extends \/[Nothing, B] with Product with Serializable

    Permalink

    A right disjunction

    A right disjunction

    Often used to represent the success case of a result

  544. type |-->[A, B] = IndexedStoreT[scalaz.Id.Id, B, B, A]

    Permalink
  545. type |>=|[G[_], F[_]] = MonadPartialOrder[G, F]

    Permalink
  546. type ~>[-F[_], +G[_]] = NaturalTransformation[F, G]

    Permalink

    A scalaz.NaturalTransformation[F, G].

  547. type ~~>[-F[_, _], +G[_, _]] = BiNaturalTransformation[F, G]

    Permalink
  548. type [A, B] = \/[A, B]

    Permalink
  549. type = Any

    Permalink
  550. type = Nothing

    Permalink
  551. sealed abstract class BKTree[A] extends Product with Serializable

    Permalink

    Burkhard-Keller trees provide an implementation of sets which apart from the ordinary operations also has an approximate member search, allowing you to search for elements that are of a distance n from the element you are searching for.

    Burkhard-Keller trees provide an implementation of sets which apart from the ordinary operations also has an approximate member search, allowing you to search for elements that are of a distance n from the element you are searching for. The distance is determined using a metric on the type of elements. Therefore all elements must implement the scalaz.MetricSpace type class, rather than the more usual scalaz.Ordering.

    The worst case complexity of many of these operations is quite bad, but the expected behavior varies greatly with the metric. For example, the discrete metric (distance x y | y == x = 0 | otherwise = 1) makes BK-trees behave abysmally. The metrics mentioned above should give good performance characteristics.

    This implementation is a port of Haskell's Data.Set.BKTree

    Annotations
    @deprecated
    Deprecated

    (Since version 7.0.1) This class depends on MetricSpace which is deprecated, too.

  552. final case class CharSet extends Product with Serializable

    Permalink

    Newtype for strings representing character sets.

    Newtype for strings representing character sets.

    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) CharSet is deprecated

  553. type Cojoin[F[_]] = Cobind[F]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Cojoin has been merged into Cobind

  554. trait Each[F[_]] extends AnyRef

    Permalink

    Run a side effect once for each A in the F.

    Run a side effect once for each A in the F.

    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Each is deprecated

  555. trait Index[F[_]] extends AnyRef

    Permalink

    Random access through an integer index.

    Random access through an integer index.

    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Index is deprecated, use Foldable#index instead

  556. final class InsertionMap[K, V] extends AnyRef

    Permalink

    Returns a list in order of key insertion.

    Returns a list in order of key insertion.

    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) InsertionMap is deprecated

  557. trait InsertionMapFunctions extends AnyRef

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) InsertionMap is deprecated

  558. sealed abstract class InsertionMapInstances extends AnyRef

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) InsertionMap is deprecated

  559. trait IsomorphismEach[F[_], G[_]] extends Each[F]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Each is deprecated

  560. trait IsomorphismIndex[F[_], G[_]] extends Index[F]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Index is deprecated, use Foldable instead

  561. trait Length[F[_]] extends AnyRef

    Permalink

    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Length is deprecated, use Foldable#length instead

  562. trait MetricSpace[F] extends AnyRef

    Permalink

    Useful metric spaces include the manhattan distance between two points, the Levenshtein edit distance between two strings, the number of edges in the shortest path between two nodes in an undirected graph and the Hamming distance between two binary strings.

    Useful metric spaces include the manhattan distance between two points, the Levenshtein edit distance between two strings, the number of edges in the shortest path between two nodes in an undirected graph and the Hamming distance between two binary strings. Any euclidean space also has a metric. However, in this module we use int-valued metrics and that's not compatible with the metrics of euclidean spaces which are real-values.

    Annotations
    @deprecated
    Deprecated

    (Since version 7.0.1) Redundant to spire's MetricSpace

    See also

    scalaz.BKTree

  563. sealed class Rope[A] extends Ops[FingerTreeIntPlus[ImmutableArray[A]]]

    Permalink

    Ropes or 'heavyweight Strings' are an alternative to Strings.

    Ropes or 'heavyweight Strings' are an alternative to Strings. In essence they are binary trees whose leaves are arrays of characters. Their advantage over ordinary strings is support for efficient concatenation and substring operations, which scale to long strings.

    They were first described in the paper: Ropes: an Alternative to Strings. by Hans-J. Boehm , Russ Atkinson , Michael Plass

    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Rope is deprecated. Use Cord instead

    See also

    http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.14.9450&rep=rep1&type=pdf

  564. final class RopeBuilder[A] extends Builder[A, Rope[A]]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Rope is deprecated. Use Cord instead

  565. sealed class RopeCharW extends Ops[Rope[Char]]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Rope is deprecated. Use Cord instead

  566. trait UnionTypes extends AnyRef

    Permalink

    Union types using Curry-Howard isomorphism

    Union types using Curry-Howard isomorphism

    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) unboxed union types are deprecated

    See also

    http://en.wikipedia.org/wiki/Curry-Howard_correspondence

    http://www.chuusai.com/2011/06/09/scala-union-types-curry-howard/

  567. sealed class WrappedRope[A] extends Ops[Rope[A]] with IndexedSeq[A] with IndexedSeqLike[A, WrappedRope[A]]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Rope is deprecated. Use Cord instead

Value Members

  1. object :+:

    Permalink
  2. object ==>> extends MapInstances with MapFunctions

    Permalink
  3. object Adjunction extends AdjunctionInstances with AdjunctionFunctions

    Permalink
  4. object Align

    Permalink
  5. object Alpha extends AlphaInstances with AlphaFunctions with Serializable

    Permalink
  6. object Applicative

    Permalink
  7. object ApplicativePlus

    Permalink
  8. object Apply

    Permalink
  9. object Arrow

    Permalink
  10. object Associative

    Permalink
  11. object BKTree extends BKTreeInstances with BKTreeFunctions with Serializable

    Permalink
  12. object Bifoldable

    Permalink
  13. object Bifunctor

    Permalink
  14. object BijectionT extends BijectionTInstances with BijectionTFunctions

    Permalink
  15. object Bind

    Permalink
  16. object Bitraverse

    Permalink
  17. object BuildInfo extends Product with Serializable

    Permalink

    This object was generated by sbt-buildinfo.

  18. object CaseInsensitive extends CaseInsensitiveInstances

    Permalink
  19. object Catchable

    Permalink
  20. object Category

    Permalink
  21. object Choice

    Permalink
  22. object Cobind

    Permalink
  23. object Codensity extends CodensityInstances

    Permalink
  24. object Cofree extends CofreeInstances with CofreeFunctions

    Permalink
  25. object Cohoist

    Permalink
  26. object Cokleisli extends CokleisliInstances with CokleisliFunctions with Serializable

    Permalink
  27. object Comonad

    Permalink
  28. object ComonadStore

    Permalink
  29. object ComonadTrans

    Permalink
  30. object Compose

    Permalink
  31. object Const extends ConstInstances with ConstFunctions with Serializable

    Permalink
  32. object Cont extends IndexedContsTInstances with IndexedContsTFunctions

    Permalink
  33. object ContT extends IndexedContsTInstances with IndexedContsTFunctions

    Permalink
  34. object Contravariant

    Permalink
  35. object ContravariantCoyoneda extends ContravariantCoyonedaInstances

    Permalink
  36. object Conts extends IndexedContsTInstances with IndexedContsTFunctions

    Permalink
  37. object ContsT extends IndexedContsTInstances with IndexedContsTFunctions

    Permalink
  38. object Coproduct extends CoproductInstances with CoproductFunctions with Serializable

    Permalink
  39. object Cord extends Serializable

    Permalink
  40. object Coyoneda extends CoyonedaInstances

    Permalink
  41. object Cozip

    Permalink
  42. val DLeft: -\/.type

    Permalink
  43. object DList extends DListInstances with DListFunctions

    Permalink
  44. val DRight: \/-.type

    Permalink
  45. object Dequeue extends DequeueInstances

    Permalink
  46. object Diev extends DievInstances with DievFunctions

    Permalink
  47. object DievInterval

    Permalink
  48. object Digit extends DigitInstances with DigitFunctions with Serializable

    Permalink
  49. val Disjunction: \/.type

    Permalink
  50. val DisjunctionT: EitherT.type

    Permalink
  51. object Distributive extends DistributiveFunctions

    Permalink
  52. object Divide

    Permalink
  53. object Divisible

    Permalink
  54. object Dual extends DualInstances

    Permalink
  55. object Either3 extends Serializable

    Permalink
  56. object EitherT extends EitherTInstances with EitherTFunctions with Serializable

    Permalink
  57. object Endo extends EndoInstances with EndoFunctions with Serializable

    Permalink
  58. object Endomorphic extends EndomorphicInstances with EndomorphicFunctions with Serializable

    Permalink
  59. object Enum

    Permalink
  60. object EphemeralStream extends EphemeralStreamInstances with EphemeralStreamFunctions

    Permalink
  61. object Equal

    Permalink
  62. object FingerTree extends FingerTreeInstances with FingerTreeFunctions

    Permalink
  63. object FoldCase extends FoldCaseInstances

    Permalink
  64. object Foldable

    Permalink
  65. object Foldable1

    Permalink
  66. object Forall extends Foralls

    Permalink
  67. object Free extends FreeInstances with FreeFunctions

    Permalink
  68. object FreeAp

    Permalink
  69. object Functor

    Permalink
  70. object Generator extends Generators

    Permalink
  71. object Heap extends HeapInstances with HeapFunctions

    Permalink
  72. object Hoist

    Permalink
  73. object IList extends IListInstances with IListFunctions with Serializable

    Permalink
  74. val IMap: ==>>.type

    Permalink
  75. val IRWS: IndexedReaderWriterState.type

    Permalink
  76. val IRWST: IndexedReaderWriterStateT.type

    Permalink
  77. object ISet extends ISetInstances with ISetFunctions

    Permalink
  78. object Id extends IdInstances

    Permalink
  79. object IdT extends IdTInstances with IdTFunctions with Serializable

    Permalink
  80. object ImmutableArray extends ImmutableArrayInstances with ImmutableArrayFunctions

    Permalink
  81. object IndSeq extends IndSeqInstances

    Permalink
  82. object IndexedCont extends IndexedContsTInstances with IndexedContsTFunctions

    Permalink
  83. object IndexedContT extends IndexedContsTInstances with IndexedContsTFunctions

    Permalink
  84. object IndexedConts extends IndexedContsTInstances with IndexedContsTFunctions

    Permalink
  85. object IndexedContsT extends IndexedContsTInstances with IndexedContsTFunctions

    Permalink
  86. object IndexedReaderWriterState extends ReaderWriterStateTInstances with ReaderWriterStateTFunctions

    Permalink
  87. object IndexedReaderWriterStateT extends ReaderWriterStateTInstances with ReaderWriterStateTFunctions

    Permalink
  88. object IndexedState extends StateFunctions

    Permalink
  89. object IndexedStateT extends StateTInstances with StateTFunctions

    Permalink
  90. object IndexedStore extends Serializable

    Permalink
  91. object IndexedStoreT extends StoreTInstances with StoreTFunctions with Serializable

    Permalink
  92. object Inject extends InjectInstances with InjectFunctions

    Permalink
  93. object Injectivity

    Permalink
  94. object InvariantFunctor

    Permalink
  95. object IsEmpty

    Permalink
  96. object Isomorphism extends Isomorphisms

    Permalink
  97. object Kleisli extends KleisliInstances with KleisliFunctions with Serializable

    Permalink
  98. object Lan

    Permalink
  99. object LazyEither extends LazyEitherInstances with LazyEitherFunctions

    Permalink
  100. object LazyEitherT extends LazyEitherTInstances with LazyEitherTFunctions with Serializable

    Permalink
  101. object LazyOption extends LazyOptionInstances with LazyOptionFunctions with Serializable

    Permalink
  102. object LazyOptionT extends LazyOptionTInstances with LazyOptionTFunctions with Serializable

    Permalink
  103. object LazyTuple extends LazyTupleFunctions

    Permalink
  104. object LazyTuple2 extends LazyTuple2Instances

    Permalink
  105. object LazyTuple3 extends LazyTuple3Instances

    Permalink
  106. object LazyTuple4 extends LazyTuple4Instances

    Permalink
  107. object Leibniz extends LeibnizInstances with LeibnizFunctions

    Permalink
  108. object Lens extends LensInstances with LensFunctions

    Permalink

    See also

    scalaz.Lens

  109. object LensFamily extends LensInstances with LensFunctions

    Permalink
  110. object Liskov extends LiskovInstances with LiskovFunctions

    Permalink
  111. object ListT extends ListTInstances with Serializable

    Permalink
  112. object Maybe extends MaybeInstances with MaybeFunctions

    Permalink
  113. object MaybeT extends MaybeTInstances with MaybeTFunctions with Serializable

    Permalink
  114. object Memo extends MemoInstances with MemoFunctions

    Permalink
  115. object MetricSpace

    Permalink
  116. object Monad

    Permalink
  117. object MonadError

    Permalink
  118. object MonadListen

    Permalink
  119. object MonadPartialOrder extends MonadPartialOrderFunctions

    Permalink
  120. object MonadPlus

    Permalink
  121. object MonadReader

    Permalink
  122. object MonadState

    Permalink
  123. object MonadTell

    Permalink
  124. object MonadTrans

    Permalink
  125. object Monoid

    Permalink
  126. object Name

    Permalink
  127. object NaturalTransformation extends NaturalTransformations

    Permalink
  128. object Need

    Permalink
  129. object NonEmptyList extends NonEmptyListInstances with NonEmptyListFunctions

    Permalink
  130. object Nondeterminism

    Permalink
  131. object NotNothing

    Permalink
  132. object NullArgument extends NullArgumentInstances with NullArgumentFunctions

    Permalink
  133. object NullResult extends NullResultInstances with NullResultFunctions

    Permalink
  134. object OneAnd extends OneAndInstances with OneAndFunctions with Serializable

    Permalink
  135. object OneOr extends OneOrInstances with OneOrFunctions with Serializable

    Permalink
  136. object OptionT extends OptionTInstances with OptionTFunctions with Serializable

    Permalink
  137. object Optional

    Permalink
  138. object OrdSeq

    Permalink
  139. object Order

    Permalink
  140. object Ordering extends OrderingInstances with OrderingFunctions

    Permalink
  141. object PLens extends PLensInstances with PLensFunctions

    Permalink

    See also

    scalaz.PLens

  142. object PLensFamily extends PLensInstances with PLensFunctions

    Permalink
  143. object Plus

    Permalink
  144. object PlusEmpty

    Permalink
  145. object ProChoice

    Permalink
  146. object Profunctor

    Permalink
  147. val RWS: ReaderWriterState.type

    Permalink
  148. val RWST: ReaderWriterStateT.type

    Permalink
  149. object Ran

    Permalink
  150. object Reader extends Serializable

    Permalink
  151. val ReaderT: Kleisli.type

    Permalink
  152. object ReaderWriterState extends ReaderWriterStateTInstances with ReaderWriterStateTFunctions

    Permalink
  153. object ReaderWriterStateT extends ReaderWriterStateTInstances with ReaderWriterStateTFunctions

    Permalink
  154. object Reducer extends ReducerInstances with ReducerFunctions

    Permalink
  155. object Representable extends RepresentableInstances

    Permalink
  156. object Scalaz extends StateFunctions with ToTypeClassOps with ToDataOps with AllInstances with AllFunctions with ToAllStdOps with IdInstances

    Permalink
  157. object Semigroup

    Permalink
  158. object Show

    Permalink
  159. object Sink extends SinkInstances

    Permalink
  160. object Source extends SourceInstances

    Permalink
  161. object Split

    Permalink
  162. object State extends StateFunctions

    Permalink
  163. object StateT extends StateTInstances with StateTFunctions

    Permalink
  164. object Store extends Serializable

    Permalink
  165. object StoreT extends StoreTInstances with StoreTFunctions with Serializable

    Permalink
  166. object StreamT extends StreamTInstances

    Permalink
  167. object Tag

    Permalink
  168. object Tags

    Permalink

    Type tags that are used to discriminate between alternative type class instances.

    Type tags that are used to discriminate between alternative type class instances.

    See also

    scalaz.Tag and, @@ in the package object scalaz .

  169. def Traced[A, B](f: (A) ⇒ B): Traced[A, B]

    Permalink
  170. object TracedT extends TracedTInstances with Serializable

    Permalink
  171. object Trampoline extends TrampolineInstances

    Permalink
  172. object Traverse

    Permalink
  173. object Traverse1

    Permalink
  174. object Tree extends TreeInstances with TreeFunctions

    Permalink
  175. object TreeLoc extends TreeLocInstances with TreeLocFunctions with Serializable

    Permalink
  176. object Unapply extends Unapply_0

    Permalink
  177. object Unapply2 extends Unapply2_0

    Permalink
  178. object Unapply21

    Permalink
  179. object UnapplyProduct

    Permalink
  180. object UnitReducer

    Permalink
  181. object Unwriter extends Serializable

    Permalink
  182. object UnwriterT extends UnwriterTInstances with UnwriterTFunctions with Serializable

    Permalink
  183. object Unzip

    Permalink
  184. object Validation extends ValidationInstances with ValidationFunctions with Serializable

    Permalink
  185. object Value extends Serializable

    Permalink
  186. object Writer extends Serializable

    Permalink
  187. object WriterT extends WriterTInstances with WriterTFunctions with Serializable

    Permalink
  188. object Yoneda

    Permalink
  189. object Zap extends ZapInstances

    Permalink
  190. object Zip

    Permalink
  191. object Zipper extends ZipperInstances with ZipperFunctions with Serializable

    Permalink
  192. object \&/ extends TheseInstances with TheseFunctions with Serializable

    Permalink
  193. object \/ extends DisjunctionInstances with DisjunctionFunctions with Serializable

    Permalink
  194. implicit val idInstance: Traverse1[scalaz.Id.Id] with Each[scalaz.Id.Id] with Monad[scalaz.Id.Id] with Comonad[scalaz.Id.Id] with Distributive[scalaz.Id.Id] with Zip[scalaz.Id.Id] with Unzip[scalaz.Id.Id] with Align[scalaz.Id.Id] with Cozip[scalaz.Id.Id]

    Permalink
  195. package std

    Permalink

    Type Class instances for data structures in the Scala and Java standard libraries.

  196. package syntax

    Permalink

    Implicits to provide a convenient syntax to work with type classes and functions.

    Implicits to provide a convenient syntax to work with type classes and functions.

    Non-trivial code should *not* be defined in this package; instead delegate.

Deprecated Value Members

  1. object CharSet extends CharSetFunctions with Serializable

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) CharSet is deprecated

  2. val Cojoin: Cobind.type

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Cojoin has been merged into Cobind

  3. object Each

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Each is deprecated

  4. object Index

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Index is deprecated, use Foldable#index instead

  5. object InsertionMap extends InsertionMapInstances with InsertionMapFunctions

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) InsertionMap is deprecated

  6. object Length

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Length is deprecated, use Foldable#length instead

  7. object Rope

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) Rope is deprecated. Use Cord instead

  8. object UnionTypes extends UnionTypes

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1) unboxed union types are deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped