若要创建接受类型级自然值Z、(S Z)、(S (S Z))的类型类,请执行以下操作:等等,您可以简单地递归地声明实例:data S a
instance Type (S a)
是否可以基于类型级谓词创建类型类实例?在Haskell中有类似的符号吗?如果没有,这样的事情会如何实现呢?编辑:这篇文章启发了,其中声明了一个
如果我试图证明Nat和Bool在Agda中不相等: open import Data.Natopen import Data.Emptynoteq () 我得到了错误: Failed to solve the following constraints:
Is empty: ℕ ≡ Bool 我知道不可能对类型本身进行模式匹配,但令我惊讶的是,编译器没有看到Nat和Bo