首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“等效函数”搜索(函数使用演绎)

“等效函数”搜索(函数使用演绎)
EN

Stack Overflow用户
提问于 2015-12-01 09:05:28
回答 1查看 48关注 0票数 1

在编写代码时,我们使用自己对可用机器的知识编写代码。这种知识(显然)是片面的。一些工具(例如pointfree)告诉我们,如果存在一些与代码等价的函数,那就太好了。在一般情况下,该工作看起来是NP-完全的(子图同构),但在某些情况下可能是实用的。

我在想:

  1. 使用Hoogle搜索代码签名(可能还包括子搜索)。
  2. 使用一些证明工具或使用Test.QuickCheck进行测试等值。

示例:

代码语言:javascript
复制
> :t getSum . foldMap Sum
getSum . foldMap Sum :: (Num c, Foldable t) => t c -> c
> :t sum
sum :: (Num a, Foldable t) => t a -> a
>

然后,当写前者时,自动建议后者。使用pointfree样式:

代码语言:javascript
复制
$ search-equivalence 'getSum . foldMap Sum'
sum

是否存在这样的工具?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-01 09:15:38

弗林特,它真的很好用。

有一个用于插件原子。我使用它已经有一段时间了,它真的很有用,有时你甚至可以从中学习。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34016436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档