Changes between Version 28 and Version 29 of TypeFunctions
- Timestamp:
- 08/01/06 10:22:59 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TypeFunctions
v28 v29 33 33 * The degenerate case of a data type/newtype declaration or type equation where all type parameters are variables is valid without a kind signature and coincides with the data types and type synonyms of vanilla Haskell. In fact, for the moment, we do not allow the degenerate case to have a kind signature. The latter constraint could be dropped if it proves to be inconvenient. (Rationale: Multiple type equations are useless when one is degenerate - as the whole system needs to be confluent and we don't have sequential matching on type equations. So, we get backwards compatibility for free.) 34 34 * All type indexes of an associated indexed type or type function need to be class parameters. 35 * Instances of indexed types may not overlap. Instances of type equations may only overlap if the equations coincide at critical pairs. 35 * Instances of indexed types may not overlap. Instances of type equations may only overlap if the equations coincide at critical pairs. (Rational: We cannot be more lazy about checking overlap, as we otherwise cannot guarantee that we generate an F,,C,, program that fulfils the formal consistency criterion.) 36 36 37 37 Restrictions:
