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

欢迎!请查看关于页面了解更多该网站运行方式的信息。

0
core.cache

嗨,Sean。我想提出一个主要针对开始成为 ClojureScript 友好的更改。

将所有协议放在一个 {{.cljc}} 文件中,而将实现放在不同的文件中,这将非常有用。这将为将来某些实现向 ClojureScript 导出打开大门。

由于我只是匆匆看过代码,我不知道如何组织分离,但我在这里提出这个问题以测试这个想法。

谢谢!

5 个答案

0

由:seancorfield 发表的评论

由于 core.cache 被设计为可扩展的,因此协议可能已被现有用户代码使用,因此移动它们将是一个破坏性更改。

0

由:arichiardi 发表的评论

那真是太糟糕了,它们能否保持在核心文件中,而将实现移动到其他地方?

也许我们可以用 {{clojure.core.cache2}}?

0

由:seancorfield 发表的评论

是的,我认为现在可能需要一组全新的命名空间。在一个公共命名空间中的协议,然后可能是每个实现都在一个单独的命名空间中,以便一些可以是 clj/cljs(如 BasicCache),而其他一些如果接触 Java,则可以是 clj 或 cljc 或 cljs。

由于这两个库以各种方式相互耦合,因此 core.memoize 可能也需要采取类似的措施。

0

由:arichiardi 发表的评论

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

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