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

评论由:arichiardi 提出

听起来是个好计划,为了参考,我还会在这里留下(链接:https://github.com/burbma/cljs-cache 文本:cljs-cache)的链接。

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