根据调用生成函数的clojure规范

时间:2018-01-08 22:04:25

标签: clojure clojure.spec

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

让我说我有一个函数foo,我已经为它编写了一个规范,在foo中我调用其他函数bar()来获取foo的一些输入(已经有spec),所以我的问题是否可以推断/生成条形码?任何现有的库?

谢谢

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

好吧所以它看起来像Clojure键入了我正在寻找的东西,因为我有foo的规格我可以生成测试然后推断其他功能的规格和键入注释。这个实用程序因为clojure是动态语言,已经指定了入口点函数,我们可以从那些函数中推断子函数规范并检查代码库中的一致性(在代码中使用正确的args调用的函数)

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

希望这可以帮助他人