Appends the given list to this list.
Successively applies a (curried) function to the elements of this list using the specified scalaz.Apply instance.
Converts this list to a scalaz.typelevel.HList, i.
Converts this list to a scalaz.typelevel.HList, i.e. replaces every
type M[A]
by Id[M[A]]
. The resulting list contains exactly the same
elements as the resulting list.
Folds this list using a scalaz.typelevel.HFold.
Applies a scalaz.NaturalTransformation to all elements, preserving the overall structure of the list.
Applies a scalaz.NaturalTransformation to all elements, preserving the
overall structure of the list. The result list has the same element types
except that every occurence of the original common type constructor M
is
replaced by N
.
Prepends a value to this list.
Version of apply
which takes the bare function and wraps it into N
.
Accesses an element at a specific index.
Upcasts the type constructor in this list.
Upcasts the type constructor in this list. This operation is safe.
Dependently typed version of fold
which improves type inference in some
circumstances.
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 parameterN
which is usually inferred to be equal toM
. However, it is still possible to prepend a value of typeOption[A]
to a list with the type constructorSome
.The common type constructor of all elements.
scalaz.typelevel.HList