30

我只想

class Trivial t
instance Trivial t

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

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

4

1 回答 1

2

由于这似乎很受欢迎,我终于将这样一个琐碎的约束类推到了 Hackage 包中。

import Data.Constraint.Trivial

id' :: Unconstrained t => t -> t
id' = id
于 2014-05-30T10:50:32.873 回答