我如何推导出类型的自由定理:
data F a = C1 Nat | C2 Bool Nat a
Nat
简直在哪里data Nat = Z | S Nat
?
原则上,这可以通过 Haskell 的“自由定理”包来回答,但它太老了,无法在我可以合理安装的任何 GHC 版本下编译。
我如何推导出类型的自由定理:
data F a = C1 Nat | C2 Bool Nat a
Nat
简直在哪里data Nat = Z | S Nat
?
原则上,这可以通过 Haskell 的“自由定理”包来回答,但它太老了,无法在我可以合理安装的任何 GHC 版本下编译。
有一个免费定理的在线生成器,不久前它关闭时,我创建了一个完全在浏览器中运行的替代 UIreflex-dom
(使用)。
但更深层次的问题是,在这些包的意义上,自由定理是多态函数的属性,所以为了回答你的问题,你必须给出一个map
你感兴趣的自由定理的函数(比如)。