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

欢迎!请参阅关于页面获取更多关于此如何运作的信息。

0
core.cache

嗨,Sean。我想提出一个改变,主要是为了让ClojureScript更友好。

在一个单独的{{.cljc}}文件中将所有协议放在一起,在其它不同的文件中放置实现,将非常有用。这将为将来的某些实现提供ClojureScript端口打开门。

由于我只是浏览了代码,所以我不知道如何组织分离,但我想通过提出这个问题来探讨这个想法。

谢谢!

5 个答案

0

由:seancorfield发表的评论

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

0

由:arichiardi发表的评论

那真是太糟糕了,它们能否保持在核心文件中并移动实现到别处?

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

0

由:seancorfield发表的评论

是的,我认为这一点上可能需要一套全新的命名空间。协议在一个共同的命名空间中,然后可能每个实现都在一个单独的命名空间中,以便某些可以实现为clojure/cljs(如基本缓存)和另一些可以是clojure(如果接触Java)或cljc或cljs。

由于这两个库以各种方式绑定在一起,core.memoize可能也需要遵循同样的模式。

0

由:arichiardi发表的评论

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

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