[英]Tools for testing Functors, Applicatives and Monads?
我创建了一个实现Functor,Applicative和Monad的类型。 我想验证他们是否遵守每个法律。 但是在尝试手动执行此操作时,它变成了一项艰巨而艰巨的任务。
所以,我想知道的是:
如何自动测试每个班级的法律是否正确实施?
但是在尝试手动执行此操作时,它变成了一项艰巨而艰巨的任务。
一种方法是用Coq这样的语言陈述你的法律并正式证明它们。 例如,John Wiegley在Coq中证明了管道法 。
如何自动测试每个班级的法律是否正确实施?
除非你证明,否则你无法得到有力的保证。 也许你可以使用像Quickcheck这样的库检查他们的财产。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.