DEV Community

Discussion on: Type thinking P1 - Types 

Collapse
 
iquardt profile image
Iven Marquardt • Edited

It happens that I currently work on the same subject, hence a few remarks:

  • Every type has a kind (denoted as *), not only type constructors
  • A proper type has kind * and a type constructor may have kind * -> * for instance
  • a type constructor is like a value constructor (or function in TS) but exists only on the type level
  • a higher-kinded (or higher-order) type is a type constructor that takes another type constructor and the necessary number of types to create a new type
  • a higher-kinded type constructor is like a higher-order function but exists only on the type level
  • it may have kind (* -> *) -> * -> * for example