Clarify comment about data family arities
authorRichard Eisenberg <rae@cs.brynmawr.edu>
Mon, 31 Jul 2017 12:29:48 +0000 (08:29 -0400)
committerRichard Eisenberg <rae@cs.brynmawr.edu>
Mon, 31 Jul 2017 12:32:28 +0000 (08:32 -0400)
as requested in #14045.

[skip ci] comments only

compiler/types/FamInstEnv.hs

index f40dabe..b9aa439 100644 (file)
@@ -162,6 +162,11 @@ Over-saturation is also possible:
       see Note [Eta reduction for data families]. Accordingly, the FamInst
       is never over-saturated.
 
+Why can we allow such flexibility for data families but not for type families?
+Because data families can be decomposed -- that is, they are generative and
+injective. A Type family is neither and so always must be applied to all its
+arguments.
+
 Note [Eta reduction for data families]
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Consider this