Arrow

zio.blocks.typeid.Kind.Arrow
final case class Arrow(params: List[Kind], result: Kind) extends Kind

A type constructor or higher-kinded type. Kind: k1 -> k2 -> ... -> kn -> result

Examples:

  • List has kind * -> * = Arrow(List(Type), Type)
  • Map has kind * -> * -> * = Arrow(List(Type, Type), Type)
  • Functor has kind (* -> *) -> * = Arrow(List(Arrow(List(Type), Type)), Type)

Attributes

Source
Kind.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Kind
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

def arity: Int

Returns the arity of this kind (0 for proper types, n for type constructors).

Returns the arity of this kind (0 for proper types, n for type constructors).

Attributes

Inherited from:
Kind
Source
Kind.scala
def isProperType: Boolean

Returns true if this is a proper type (kind *).

Returns true if this is a proper type (kind *).

Attributes

Inherited from:
Kind
Source
Kind.scala
def productElementNames: Iterator[String]

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product
Source
Product.scala
def productIterator: Iterator[Any]

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product
Source
Product.scala