欢迎!请查看 关于 页面以了解更多的操作信息。
core.match clojurescript 应该支持自托宿兼容性
评论者:viebel
基本上我做了以下几点:取 match.clj 从 https://github.com/clojure/core.match/blob/master/src/main/clojure/clojure/core/match.clj
match.clj
重命名为 match.cljc 并为 :cljs 创建分支。
match.cljc
:cljs
补丁已附加
我在 KLIPSE 中对其进行了测试 - http://app.klipse.tech/?cljs_in.gist=viebel/10da8338c4a1573fab8c04989e471704&external-libs=[https://raw.githubusercontent.com/viebel/core.match/master/src/main/clojure/]
评论者:alexmiller
请注意,目前我们的自动化 CI 构建箱无法构建或发布包含 cljc 文件的计划。我正在积极解决这个问题,但在完成之前,无法继续前进。(问题解决后,我将很乐意这样做。)
无论如何,我很高兴能得到我对补丁的反馈。这是一段处理 cljs 和 clojure 类型差异的大量代码。
既然 cljc 已经完全支持,有人可以看一下这个补丁吗?Alex?David?
另一个问题是,我们是否希望将 Clojure 1.7 作为 core.match 的依赖项,这意味着将不再支持许多旧版本。我对此觉得可以接受,但我也想听听社区的意见。
评论者:cgrand
如果这个补丁的目标只是使 {{cljs.core.match}} 兼容自托管(而不是同时统一 {{cljs.core.match}} 和 {{clojure.core.match}}),那么我认为有一些对 clojure 的引用不应该在那里,并且在 clojure 编译的 clojurescript 上运行时,{{backtrack-expr}} 和 {{FailureNode}} 会生成 clojure 代码而不是 clojurescript 代码。
(链接: ~viebel) 请参阅 Christophe 的评论。如果其他人能让这个补丁在 Clojure、ClojureScript 和自托管 ClojureScript 上都能正常工作,我会很高兴地帮助将其推到一个发布版本。