Haskell弹性实例
示例
常规实例需要:
All instance types must be of the form (T a1 ... an) where a1 ... an are *distinct type variables*, and each type variable appears at most once in the instance head.
这意味着,例如,尽管您可以创建实例,[a]但不能专门为创建实例[Int]。FlexibleInstances放松一点:
class C a where -- works out of the box instance C [a] where -- requires FlexibleInstances instance C [Int] where