Represents a function A => F[B]
where [F: TC]
.
Represents a function A => F[B]
where [F: TC]
.
Contributed by Eugene Yokota.
A list which preserves the precise types of all elements.
A list which preserves the precise types of all elements. It can be seen as a generalized tuple of arbitrary arity.
This structure allows to store values of different types together and supports some basic operations like appending, folding or mapping via a scalaz.NaturalTransformation. It also serves as a replacement for scalaz.syntax.ApplicativeBuilder.
All elements have to share a common type constructor, e.g. scala.List or scala.Option. This makes easy use with scalaz.Applicative possible. If the types of the elements are not in appropriate shape, use scalaz.Id.
Because this trait is covariant in M
, most methods have an additional
type parameter N
which is usually inferred to be equal to M
. However,
it is still possible to prepend a value of type Option[A]
to a list with
the type constructor Some
.
The common type constructor of all elements.
::
as type and extractor is available in
scalaz.syntax.typelevel.HLists
A scalaz.typelevel.GenericList with the type constructor scalaz.Id
Represents a function A => T#Product[B]
where [L <: TCList]
.
Represents a function A => T#Product[B]
where [L <: TCList]
.
Example:
import scalaz._, std.AllInstances._, typelevel._, Func._ val list = AppFuncU { (x: Int) => x + 1 } :: AppFuncU { (x: Int) => List(x + 5) } :: AppFunc.HNil list.traverse(List(1, 2, 3))
An infinite sequence of elements with different types.
Alias for scalaz.typelevel.KList
A type class abstracting over the product
and compose
operations of
type classes over types of kind * -> *
.
A type class abstracting over the product
and compose
operations of
type classes over types of kind * -> *
.
It serves as a replacement for the various Product*
classes in
scalaz.
Multiplication of instances is done via wrappers which are unpacked automatically if the implicits of scalaz.syntax.typelevel.TypeClasses are imported.
A structure storing a list of type constructors in the type, providing type conversions for composition and products.
A structure storing a list of type constructors in the type, providing type conversions for composition and products.
There are no values of this type.
scalaz.typelevel.TypeClass
Constraining a type constructor to a certain upper bound
The empty scalaz.typelevel.Formatter.
Type-level data structures in Scalaz.
This package contains:
In general, including
scalaz.typelevel._
should be enough.