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

欢迎!请参阅关于页面以了解更多关于这个网站的信息。

+1
Clojure
封闭

随着 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 的类型重载将限制可以在此取得的成果。

封闭为重复问题: 与java.util.function接口集成

1 答案

+1

关于这个问题,有几个其他的问题和Jira讨论。我们已经在查找解决方案上花费了很多时间,但尚未决定怎么做(并且我们并没有计划在1.11的版本时间内做出决定)。

by
我知道在1.10版本之前讨论过这个问题,但由于Java 6的支持问题,当时无法实现。不幸的是,我在Ask Clojure上找不到关于它的合适搜索词,所以我决定直接提问。

我没想过1.11版本。那些特性已经基本决定了,对吧?
...