Kind (type theory)
= Kind
{disambiguate=type theory}
{wiki}
= Kind of a type
{synonym}
A classification of type-level expressions. In the traditional <Haskell> notation, ordinary types have kind `*`, while a unary <type constructor> such as `Tree` has kind `* -> *`. Applying it to a suitable <type argument> produces an ordinary type. This distinguishes the type-level application from applying a value with a <function type>.