欢迎!请在 关于 页面上了解有关如何使用本网站的一些更多信息。
core.match clojurescript 应该具有自宿主兼容性
评论作者:viebel
我基本上是取了来自 https://github.com/clojure/core.match/blob/master/src/main/clojure/clojure/core/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 的引用不应该在那里,我同时认为{{backtrack-expr}} 和 {{FailureNode}} 在在 Clojure 编译后的 ClojureScript 中运行时会产生 clojure 代码而不是 clojurescript 代码。
(链接: ~viebel) 请参阅 Christophe 的评论。如果其他人能让补丁在 Clojure、ClojureScript 和自宿主 ClojureScript 上运行并通过测试,我将很高兴帮助这一补丁发布。