欢迎!请查看关于页面,了解有关此功能的一些更多信息。
嗨,Sean。我想提出一个主要以开始为ClojureScript友好性为主的变化。
将所有协议放在一个{{.cljc}}文件中,实现放在其他文件中将非常有用。这将为将来某个时刻实现ClojureScript版本打开大门。
由于我刚刚浏览了代码,所以我不确定分隔的组织方式,但我发起这个问题,就是想尝试一下这个想法。
谢谢!
评论者:seancorfield
由于core.cache旨在可扩展,这些协议可能已被现有用户代码使用,因此移动它们将导致破坏性更改。
评论者:arichiardi
哎,那怎么办,它们可以保留在核心文件中,并将实现移动到其他地方吗?
也许我们可以采用[clojure.core.cache2]?
是的,我觉得这时候可能需要一套全新的命名空间。所有协议在一个公共命名空间中,然后每个实现可能需要分开的命名空间,以便一些可以是clj/cljs(比如BasicCache),其他的可以是clj(如果涉及到Java),或者是cljc或cljs。
由于这两个库以多种方式耦合,core.memoize可能也需要这样做。
听起来是个不错的计划,作为参考,我还将在这里留下到(链接: https://github.com/burbma/cljs-cache 文字:cljs-cache)的链接。