Kind (type theory)-higher-kinded types--type constructor

  • *, pronounced "type", is the kind of all data types seen as nullary type constructors, and also called proper types in this context. This normally includes function types in functional programming languages.
  • *\rightarrow * is the kind of a unary type constructor, e.g. of a list type constructor.
  • *\rightarrow *\rightarrow * is the kind of a binary type constructor (via currying), e.g. of a pair type constructor, and also that of a function type constructor (not to be confused with the result of its application, which itself is a function type, thus of kind *)
  • (*\rightarrow *)\rightarrow * is the kind of a higher-order type operator from unary type constructors to proper types.[2]

https://en.wikipedia.org/wiki/Kind_(type_theory)

type constructor is a feature of a typed formal language that builds new types from old ones.

猜你喜欢

转载自www.cnblogs.com/feng9exe/p/9155799.html