我只想
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