我想要
class Trivial t
instance Trivial t
这在Haskell 98中当然没用,因为你可以省略约束;但是ConstraintKinds
我们可以明确要求种类* -> Constraint
的参数。理想情况下,我想将其定义为“匿名类型级函数”\type a -> ()
,但这显然是不可能的。
我应该做什么,使用预定义的东西或者只在我需要的地方定义该类(因为实例是通用的,没有人需要访问它,看起来也很好)?
答案 0 :(得分:2)
由于这看起来很受欢迎,我终于推出了这样一个琐碎的约束类to a Hackage package。
import Data.Constraint.Trivial
id' :: Unconstrained t => t -> t
id' = id