Changes between Version 51 and Version 52 of TypeFunctions


Ignore:
Timestamp:
Aug 26, 2006 8:56:44 PM (9 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TypeFunctions

    v51 v52  
    2525 * Kind signatures of type function have the form
    2626 {{{
    27 type family T a1 .. an :: <kind>
     27type family T a1 .. an [:: <kind>]
    2828}}}
    29  and introduce `n`-ary type functions (with `n` >= 1), which may be of higher-kind.  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 higher-kind.  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.
    3030 * 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.)
    3131 * 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 non-variable type indexes in index positions.  Type indexes can include applications of indexed data types and newtypes, but no type functions.