有没有一种简单的方法来DecEq为数据类型编写equality()实例?例如,我希望以下内容在其DecEq声明中包含O(n)行,其中?p很简单:
data Foo = A | B | C | D
instance [syntactic] DecEq Foo where
decEq A A = Yes Refl
decEq B B = Yes Refl
decEq C C = Yes Refl
decEq D D = Yes Refl
decEq _ _ = No ?p
Run Code Online (Sandbox Code Playgroud) idris ×1