欢迎!请参阅 关于 页面以了解更多关于如何使用本站的信息。
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 已完全支持,能否有人查看这个补丁?亚历克斯?大卫?
另一个问题是,我们是否希望将 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 上都能工作,我很乐意帮助将其推进到发布阶段。