1

是否可以根据调用函数的规范生成/推断 clojure 规范:

假设我有一个函数 foo 我已经为它编写了一个规范,在 foo 内部我调用其他函数 bar() 接受 foo 的一些输入(已经有规范),所以我的问题是可以推断/生成酒吧的规格?任何现有的图书馆?

谢谢

4

2 回答 2

2

https://github.com/stathissideris/spec-provider,您可以使用它来推断您酒吧输出的规格。

我正在使用它来将推断的规范可视化(在管道中)为形状(在 quil 的帮助下在 java 小程序中)以及每个步骤输出之间的差异与https 的前一步(在 emacs 缓冲区中)相比:/ /vimeo.com/240254456

于 2018-01-08T23:42:34.157 回答
1

好的,看起来 Clojure typed 具有我正在寻找的东西,因为我有 foo 的规范,我可以生成测试,然后推断其他函数的规范和类型化注释。由于 clojure 是动态语言,因此它的实用性已经指定了入口点函数,我们可以从中推断出子函数规范并检查代码库中的一致性(在代码中随处使用正确 args 调用的函数)

https://github.com/typedclojure/core.typed

希望这可以帮助其他人

于 2018-01-09T17:25:15.087 回答