我只想

class Trivial t
instance Trivial t

在Haskell 98中这当然是没有用的,因为您可以忽略约束。但是使用ConstraintKinds,我们可以拥有明确要求的* -> Constraint类型的参数。理想情况下,我只想将其定义为“匿名类型级函数” \type a -> (),但这显然是不可能的。

我应该怎么做,使用预定义的东西,或者只是在我需要的地方就地定义该类(因为实例是通用的,因此没有人需要访问它,这似乎还可以)?

最佳答案

由于这似乎很受欢迎,我最终推了一个这样的琐碎约束类to a Hackage package

import Data.Constraint.Trivial

id' :: Unconstrained t => t -> t
id' = id

10-02 11:26