Type families
- Indexed type families are a new GHC extension to
+ Indexed type families form an extension to
facilitate type-level
programming. Type families are a generalisation of associated
data types
@@ -4915,11 +4915,11 @@ representation).
indices.
- Indexed type families come in two flavours: data
- families and type synonym
- families. They are the indexed family variants of algebraic
- data types and type synonyms, respectively. The instances of data families
- can be data types and newtypes.
+ Indexed type families come in three flavours: data
+ families, open type synonym families, and
+ closed type synonym families. They are the indexed
+ family variants of algebraic data types and type synonyms, respectively. The
+ instances of data families can be data types and newtypes.
Type families are enabled by the flag .
@@ -5027,7 +5027,7 @@ data instance G [a] b where
- Even if type families are defined as toplevel declarations, functions
+ Even if data families are defined as toplevel declarations, functions
that perform different computations for different family instances may still
need to be defined as methods of type classes. In particular, the
following is not possible: