Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有工具可以检查haskell代码属性的证明?_Haskell_Proof_Proof Of Correctness - Fatal编程技术网

有没有工具可以检查haskell代码属性的证明?

有没有工具可以检查haskell代码属性的证明?,haskell,proof,proof-of-correctness,Haskell,Proof,Proof Of Correctness,有一些方法(例如,PromotedDataTypes扩展)可以在haskell中伪造依赖类型,这使得证明haskell本身的一些代码属性成为可能 我可能希望证明的属性示例包括somr monad typeclass实例的某些函数或monad定律的总和 这样的证明将是一个值(a::T),其中T表示我们已经证明的语句。不幸的是,在haskell中,我们可以编写错误类型的术语,例如。G(fix id::for all a.a.),所以我们可以证明一切。haskell中是否有检查证明正确性或monad定

有一些方法(例如,PromotedDataTypes扩展)可以在haskell中伪造依赖类型,这使得证明haskell本身的一些代码属性成为可能

我可能希望证明的属性示例包括somr monad typeclass实例的某些函数或monad定律的总和

这样的证明将是一个值(a::T),其中T表示我们已经证明的语句。不幸的是,在haskell中,我们可以编写错误类型的术语,例如。G(fix id::for all a.a.),所以我们可以证明一切。haskell中是否有检查证明正确性或monad定律满足性的工具?
有人在源代码中包含证据吗

我不是专家,但我不认为你想做的是一个好主意。我的意思是:一定要使用类型系统来提供一些保证并避免大多数错误,但是由于逻辑不健全,您无法实现您真正想要的。如果您正在寻找正式正确的代码,您可以使用(例如)Coq,然后从中提取程序。在任何情况下,都可以询问有关查找工具/资源ecc的问题。stackoverflow的主题不在这里。你可能应该在一些邮件列表/subreddit或类似的东西上问这个问题。安迪·吉尔有一个学生在这方面工作,而利文特最近发布了一个类似的工具。此外,你可能对Liquid Haskell感兴趣。@Bakuriu很抱歉,这篇文章离题了。我应该删除它吗?我不是专家,但我不认为你所做的实际上是一个好主意。我的意思是:一定要使用类型系统来提供一些保证并避免大多数错误,但是由于逻辑不健全,您无法实现您真正想要的。如果您正在寻找正式正确的代码,您可以使用(例如)Coq,然后从中提取程序。在任何情况下,都可以询问有关查找工具/资源ecc的问题。stackoverflow的主题不在这里。你可能应该在一些邮件列表/subreddit或类似的东西上问这个问题。安迪·吉尔有一个学生在这方面工作,而利文特最近发布了一个类似的工具。此外,你可能对Liquid Haskell感兴趣。@Bakuriu很抱歉,这篇文章离题了。我应该删除它吗?