欢迎!请参阅 关于 页面以了解更多关于这样运作的信息。
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 的引用不应该存在,并且我认为在 clojure 编译的 clojurescript 中运行时,{{backtrack-expr}} 和 {{FailureNode}} 会生成 clojure 代码而不是 clojurescript 代码。
(链接:~viebel) 请参阅 Christophe 的评论。如果其他人能将这个补丁修改到能在 Clojure、ClojureScript 和自宿主 ClojureScript 上工作,我愿意帮助推动它发布。