User:Zzo38/Proposal for additional kinds
From HaskellWiki
(Difference between revisions)
Zzo38 (Talk | contribs)
(New page: This document is proposal about additional kinds. ==New kinds== ## -- New name for (#) kind (although (#) is available for compatibility) [x] -- If x is a kind, [x] is the kind...)
Next diff →
Revision as of 20:27, 3 September 2011
This document is proposal about additional kinds.
1 New kinds
## -- New name for (#) kind (although (#) is available for compatibility) [x] -- If x is a kind, [x] is the kind of classes of types of kind x + -- Kind for type-level natural numbers
2 Kind of classes
Example:
[*] -- Kind of Eq class. [* -> *] -- Kind of Monad class. * -> [*] -- A class that requires a type as a parameter to make a class. * -- Class of classes.
3 Natural number kind
If a type requires a parameter, it can be a + kind, meaning numbers.
There should be some way to specify a type taking natural numbers by defining it for zero and them for a successor, so that it applies for all natural numbers.
