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

也可以考虑其他一些接口,例如 cast 参数和结果,但函数(如 apply)的类型重载将限制可以完成的工作。

已关闭,作为 Integrate with java.util.function interfaces 的重复内容

1 答案

+1

关于这个问题,有其他几个关于 ask clojure 的问题和 Jira。我们已经花了大量时间研究这个问题的选项,但还没有决定我们将要做什么(而且我们计划在 1.11 的时间范围内不这样做)。

图片无法显示
我之前在1.10之前讨论过这个问题,但因Java 6的支持问题而无法实现。不幸的是,我在Ask Clojure上想不出合适的搜索词,所以我就直接提问了。

我没有想过1.11版本。那些功能基本上已经决定了,不是吗?
...