是否可以对(数据)类型参数施加类型类约束?

Is it possible to put typeclass constaints on (data) type parameter?

是否可以对类型设置约束:

data T a = T a

因此 a 只能是在特定类型 class C 上具有实例的类型。虽然我不确定它是否相关,但找不到有关它的信息。如果不可能,对此有何简单的解释?

不可能约束数据构造函数,不。在 Haskell 中有一个允许这样做的扩展,但它被认为不是很成功,因为它仍然需要在所有使用该类型的签名中使用约束,所以它并没有真正给你任何东西.

更多信息请见 Haskell 此处:DatatypeContexts Deprecated in Latest GHC: Why?