2024 Clojure状态调查!分享您的想法。

欢迎!请参阅关于页面获取有关如何工作的更多信息。

0
元数据

我认为可以通过一些属性来扩展多方法元数据,这些属性可以指示所提到的var代表的是一个多方法(我们对于宏也有类似的东西),并有一些默认的参数列表属性。

我提出这个问题是因为作为一名工具作者(CIDER),我在确定一项内容是否是多方法时遇到了困难(我不得不求助于(instance? clojure.lang.MultiFn obj)这样的代码,这是一种可接受但不是最佳的方法(与宏和特殊形式相比))。还有一个问题,那就是我不能向用户提供eldoc(函数签名),因为它不在元数据中(这个问题也在邮件列表上提出过 https://groups.google.com/forum/#!topic/clojure/crje_RLTWdk)。

我认为我们确实存在没有参数列表的问题,我们应该设法解决这个问题。我不确定我提出的方案是否是最佳方案,我将接受任何解决方案。

2 个答案

0

评论由:bozhidar 提出

Btw,我没能提及其他内容,但我认为我们应该在多方法元数据中使用分派函数的参数列表。

0
参考:https://clojure.atlassian.net/browse/CLJ-1522(由 bozhidar 提出)
...