2024 年 Clojure 状态调查! 中分享你的想法。

欢迎!请参阅关于页面以了解有关这样做的更多信息。

0
data.priority-map

随着 Clojure 1.7 和 reader conditionals 即将发布,是否有兴趣添加 ClojureScript 支持?已经有一个在 https://github.com/tailrecursion/cljs-priority-map 的移植版本。Alan Dipert 可能会将它捐赠给 Clojure Core,否则我愿意对此进行移植。

10 个答案

0

评论者:markengelberg

我同意这是值得做的,基于现有的移植版本可能有很大帮助。你想要负责与 Alan Dipert 联系并了解如何有效地使用 reader conditionals 来合并两者吗?

0

评论者:timvisher

我们还在考虑这样做吗?

0

评论者:markengelberg

我仍然支持这个想法,但现在没时间自己来做。

0

评论者:timvisher

太棒了。我现在正深入研究这个问题。我刚刚打开了另一个问题来尝试将行尾字符统一。http://dev.clojure.org/jira/browse/DPRIMAP-9

0
by

评论者:timvisher

关于对Clojure版本的支持,我们想怎么做呢?如果我们能接受放弃对1.7之前版本的支持,那么我可以用cljc来针对两个平台。如果我们想保持对先前版本的支持,那么我必须采取不同的方法。

有什么想法吗?

0
by

评论者:markengelberg

我在之前的评论中说过,“我认为这很值得”,那个评论完全是基于“cljc是现代Clojure库预期的行为”。但随着我思考,我越来越意识到,将Clojure和Clojurescript版本合并在一起,我们得到的益处并不明确,尤其是鉴于这段代码几乎完全是关于实现Clojure和Clojurescript之间完全不同的协议和接口,所以共同代码很少。鉴于代码的共同性很少,也不清楚,将共同文件合并为一个文件与两个单独文件相比,在维护或扩展代码时是否更容易。除此之外,自从创建以来,priority map几乎没有改变,而且未来也很可能出现很少的变化。

因此,我开始怀疑这样做是否值得付出努力和引入错误的风险,但如果你有兴趣探索这个问题,我认为选择cljc是正确的。

所以在你投入进去之前,我想听听你的意见:将两个文件合并成一个cljc文件有什么好处?

0
by

评论者:timvisher

这很有价值,只是因为它会为Clojurescript提供“官方”的贡献支持。我主要对这个感兴趣,因为我需要在我所在的项目中使用优先队列,我也想尝试使用cljc。所以这既是学习练习,也是实际工作的努力。

尽管如此,我对类型声明的不同感到相当惊讶。我原以为我可以简单地使用#?来更换一些类型,但实现方式相当不同。我还没有决定我能统一多少,但我希望可以统一很多。

所以我不管你是否接受,我都想进行这个练习。

我认为你刚才说的隐含的条件是接受1.7版本作为最小支持版本吗?

0
by

评论者:markengelberg

是的,我接受最小支持版本为1.7。

0

评论者:alexmiller

请注意,我们目前使用的Hudson CI系统用于构建 contrib 项目,但不能构建 cljc 项目。要构建,需要 clojure-maven-plugin 的新版本,它需要 Maven 3 来使用一些插件,而这在我们的旧版Hudson中不受支持。

这在我优先事项列表中相当靠前,因为我们已经在为 test.check(并将在其他人需要时成为问题)战斗这个问题了。但您可能想等到我们解决这个问题后再进行。

虽然没有 CI 服务器也可以手动构建和发布项目(我为 test.cehck 做过这件事),但这并不容易。

0
...