Changes between Version 51 and Version 52 of TypeFunctions
 Timestamp:
 Aug 26, 2006 8:56:44 PM (10 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

TypeFunctions
v51 v52 25 25 * Kind signatures of type function have the form 26 26 {{{ 27 type family T a1 .. an :: <kind>27 type family T a1 .. an [:: <kind>] 28 28 }}} 29 and introduce `n`ary type functions (with `n` >= 1), which may be of higherkind. Again, the type variables can have kind signatures . Equations for an `n`ary type function must specify exactly `n` arguments, which serve as indexes.29 and introduce `n`ary type functions (with `n` >= 1), which may be of higherkind. Again, the type variables can have kind signatures and the result kind signature is optional, with `*` being the default. Equations for an `n`ary type function must specify exactly `n` arguments, which serve as indexes. 30 30 * Applications of type functions need to supply all indexes after unfolding of all ordinary type synonyms. (This is the same saturation requirement that we already have on ordinary type synonyms.) 31 31 * Instances of indexed data types/newtypes and equations of type functions have the keyword `instance` after the first keyword. They otherwise have the same form as ordinary data types/newtypes and type synonyms, respectively, but can have nonvariable type indexes in index positions. Type indexes can include applications of indexed data types and newtypes, but no type functions.