当我使用Pathom(《https://github.com/wilkerlucio/pathom3》时遇到了这个问题。Pathom定义了一个`Resolver` defrecord。Resolver实现IFn并旨在像函数一样起作用,可以直接调用(例如,用于调试目的),尽管通常不期望库用户直接调用它们,而应由库在查询运行期间通过`.invoke`方法进行调用。
我正在调试一个resolver并做了类似于`(def my-result (my-resolver my-args))`的事情,这抛出了本问题中描述的错误。我在Clojure编译器代码中挖掘了一段时间,才怀疑我在def函数调用中包裹功能调用的做法是罪魁祸首。
Resolvers最近实现了一个`.applyTo`(https://github.com/wilkerlucio/pathom3/commit/0b40bc4aba7ff2d8e95dd4b120d04ef8d6c00cc7,所以这个问题现在在Pathom中已经不再存在了。但我可以想象,在Pathom的旧版本或其他定义IFn实现但不意识到需要实现`.applyTo`的库中,这个问题仍然可能被遇到。