Note [The PatersonSize of a type]
The PatersonSize of type is something we can compare, with `ltPatersonSize`, to determine if the Paterson conditions are satisfied for an instance declaration. See Note [Paterson conditions] in GHC.Tc.Validity. There are some wrinkles (PS1) Once we get into an implicit parameter or equality we can't get back to a class constraint, so it's safe to say "size 0". See #4200. We do this with isTerminatingClass
References 1
- Paterson conditions GHC.Tc.Validity
Referenced by 3
- GHC.Tc.Utils.TcType call site ×2
- Recursive superclasses GHC.Tc.TyCl.Instance