Kind

zio.blocks.typeid.Kind
See theKind companion trait
object Kind

Attributes

Companion
trait
Source
Kind.scala
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Kind.type

Members list

Type members

Classlikes

final case class Arrow(params: List[Kind], result: Kind) extends Kind

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

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
Supertypes
trait Serializable
trait Product
trait Equals
trait Kind
class Object
trait Matchable
class Any
Show all
case object Type extends Kind

A proper type: Int, String, List[Int]. Kind: *

A proper type: Int, String, List[Int]. Kind: *

Attributes

Source
Kind.scala
Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Kind
class Object
trait Matchable
class Any
Show all
Self type
Type.type

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements.

The names of the product elements.

Attributes

Inherited from:
Mirror
Source
Mirror.scala
type MirroredLabel <: String

The name of the type.

The name of the type.

Attributes

Inherited from:
Mirror
Source
Mirror.scala

Value members

Concrete methods

def constructor(arity: Int): Kind

Creates a simple n-ary type constructor kind. All parameters have kind * and result is *.

Creates a simple n-ary type constructor kind. All parameters have kind * and result is *.

Attributes

Source
Kind.scala

Concrete fields

Kind (* -> *) -> * - higher-kinded unary (Functor, Monad, etc.)

Kind (* -> *) -> * - higher-kinded unary (Functor, Monad, etc.)

Attributes

Source
Kind.scala
val Star: Kind

Kind * - proper type

Kind * - proper type

Attributes

Source
Kind.scala
val Star1: Kind

Kind * -> * - unary type constructor (List, Option, etc.)

Kind * -> * - unary type constructor (List, Option, etc.)

Attributes

Source
Kind.scala
val Star2: Kind

Kind * -> * -> * - binary type constructor (Map, Either, etc.)

Kind * -> * -> * - binary type constructor (Map, Either, etc.)

Attributes

Source
Kind.scala