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

欢迎!请查看关于页面,了解有关此功能的一些更多信息。

0
core.cache

嗨,Sean。我想提出一个主要以开始为ClojureScript友好性为主的变化。

将所有协议放在一个{{.cljc}}文件中,实现放在其他文件中将非常有用。这将为将来某个时刻实现ClojureScript版本打开大门。

由于我刚刚浏览了代码,所以我不确定分隔的组织方式,但我发起这个问题,就是想尝试一下这个想法。

谢谢!

5 答案

0

评论者:seancorfield

由于core.cache旨在可扩展,这些协议可能已被现有用户代码使用,因此移动它们将导致破坏性更改。

0

评论者:arichiardi

哎,那怎么办,它们可以保留在核心文件中,并将实现移动到其他地方吗?

也许我们可以采用[clojure.core.cache2]?

0

评论者:seancorfield

是的,我觉得这时候可能需要一套全新的命名空间。所有协议在一个公共命名空间中,然后每个实现可能需要分开的命名空间,以便一些可以是clj/cljs(比如BasicCache),其他的可以是clj(如果涉及到Java),或者是cljc或cljs。

由于这两个库以多种方式耦合,core.memoize可能也需要这样做。

0
by

评论者:arichiardi

听起来是个不错的计划,作为参考,我还将在这里留下到(链接: https://github.com/burbma/cljs-cache 文字:cljs-cache)的链接。

0
by
参考: https://clojure.atlassian.net/browse/CCACHE-55 (由arichiardi报告)
...