随着 Clojure 1.10 迁移到需要 Java 8,是否计划实现 Java 8 版本中引入的一些新接口?
虽然对于 Clojure 来说并非必需,但 java.util.function
中的接口有时对于互操作性是必要的。这需要对构造如 reify
的拙劣包装。
例如,可以将 clojure.lang.AFn
扩展到
BiFunction
BiPredicate
Function
Predicate
并将每个实现方法调用适当的 invoke
方法。Clojure 已经对大多数互操作性使用 Object
,因此泛型将只需在所有地方使用 Object
。
还可以考虑其他一些接口,尽管函数 como apply
的类型重载将限制可以在此取得的成果。