欢迎!请查阅关于页面了解更多关于如何使用本站的信息。
我认为可以通过一些属性来扩展多方法元数据,比如指示问题中的var引用的是一个多方法(我们为宏也有类似的属性)以及一些默认的参数列表属性。
我提出这个问题是因为作为工具编写者(CIDER),我很难确定某个对象是否是多方法(我不得不求助于类似(instance? clojure.lang.MultiFn obj)的代码,尽管这是可以接受的,但并不理想(与宏和特殊形式相比))。还有一个问题是我无法为用户提供eldoc(函数签名),因为在元数据中不可用(这个问题也在邮件列表上提出过 https://groups.google.com/forum/#!topic/clojure/crje_RLTWdk)。
我感觉我们真的存在缺少参数列表的问题,我们应该以某种方式解决这个问题。我不确定我提出的解决方案是否是最好的,我会接受任何解决方案。
评论者:bozhidar
顺便说一下,我没有提到这一点,因为我认为它是显而易见的,但使用多方法元数据中的分派函数的参数列表。