2024 状态调查! 中分享您的想法。

欢迎!请在 关于 页面查看更多有关该系统如何工作的信息。

0
core.match

core.match clojurescript 应该是自宿主兼容的

9 答案

0

评论者:viebel

基本上,我所做的是将 match.cljhttps://github.com/clojure/core.match/blob/master/src/main/clojure/clojure/core/match.clj

重命名为 match.cljc 并为 :cljs 创建一个分支。

补丁已附上

0

评论者:alexmiller

请注意,目前我们的自动化CI构建箱无法构建或发布包含cljc文件的项。我正在积极修复该问题,但在此期间,无法进一步推进。(修复后,我将很高兴这么做。)

0

评论者:viebel

无论如何,我很乐意听听对我的补丁的反馈。
这是大量处理 cljs 和 clojure 类型之间差异的代码。

0

评论者:viebel

随着 cljc 已完全支持,有人能看看这个补丁吗?Alex?David?

0

评论者:alexmiller

另一个问题是,我们是否希望将 Clojure 1.7 作为 core.match 的依赖项,这意味着将不支持许多旧版本。我认为我可以接受这一点,但也很愿意听听社区的更多意见。

0

评论者:cgrand

如果这个补丁的目标仅仅是使 {{cljs.core.match}} 兼容自宿主(而且不统一 {{cljs.core.match}} 和 {{clojure.core.match}}),那么我认为有几个对 clojure 的引用不应该在里头,而且我认为 {{backtrack-expr}} 和 {{FailureNode}} 在 clojure 编译后的 clojurescript 中运行时,会发出 clojure 代码而不是 clojurescript 代码。

0

评论者:alexmiller

(链接:~viebel) 请参阅 Christophe 的评论。如果其他人能将这个补丁修练到一个能在 Clojure,ClojureScript 和自宿主 ClojureScript 上正常工作的程度,我将很乐意帮助将其引入发布。

0
参考: https://clojure.atlassian.net/browse/MATCH-116 (由 viebel 报告)
...