繁体   English   中英

用于测试Functors,Applicatives和Monads的工具?

[英]Tools for testing Functors, Applicatives and Monads?

我创建了一个实现Functor,Applicative和Monad的类型。 我想验证他们是否遵守每个法律。 但是在尝试手动执行此操作时,它变成了一项艰巨而艰巨的任务。

所以,我想知道的是:

如何自动测试每个班级的法律是否正确实施?

但是在尝试手动执行此操作时,它变成了一项艰巨而艰巨的任务。

一种方法是用Coq这样的语言陈述你的法律并正式证明它们。 例如,John Wiegley在Coq中证明了管道法

如何自动测试每个班级的法律是否正确实施?

除非你证明,否则你无法得到有力的保证。 也许你可以使用像Quickcheck这样的库检查他们的财产。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM