30

私はただ欲しい

class Trivial t
instance Trivial t

Haskell 98 では制約を省略できるので、これはもちろん役に立ちません。しかし、ConstraintKinds明示的に必要な種類の引数を持つことができます* -> 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 に答える