Talk:Kind (type theory)
|WikiProject Mathematics||(Rated Start-class, Low-importance)|
|WikiProject Computer science||(Rated Start-class)|
Haskell list example is really bad
means the empty list, it's a value, which has type
[a], which in its turn has kind *. You can't say the empty list has kind *. ShinNoNoir (talk) 17:07, 24 January 2010 (UTC)
I have replaced all occurrences \Rightarrow with \rightarrow. I believe it's better to use the original notation instead of substituting it for a different notation that has a meaning in Haskell as well. If a notation was to be changed for purposes of legibility, I would change one that isn't the primary point of discussion. --IncipienceThe (talk) 11:25, 23 July 2012 (UTC)
Commonality of higher-order type operators
In the standard library Phobos of the D language there are things like staticMap:
An usage example:
alias staticMap!(Unqual, int, const int, immutable int) T; static assert(is(T == TypeTuple!(int, int, int)));
Unqual is a template that given a type removes from it all its outer modifiers, like const, immutable, pure, nothrow, @safe, shared, ecc.
staticMap has kind:
Where [*] a built-in TypeTuple of D language.
Similar things are not uncommon in D programming and rather easy to implement. In Phobos I count about thirty uses of staticMap, so despite not being very commonly used, I can't agree such things are "very seldom encountered" as stated in the Examples section of this article. — Preceding unsigned comment added by 188.8.131.52 (talk) 01:09, 8 September 2012 (UTC)