请在 2024 年 Clojure 现状调查! 中分享您的想法。

欢迎!请参阅 关于页面 以了解此平台的更多信息。

0
data.priority-map

随着 Clojure 1.7 和读取条件语句的即将发布,增加 ClojureScript 支持是否有兴趣?已经有一个位于 https://github.com/tailrecursion/cljs-priority-map 的端口。Alan Dipert 可能愿意将其捐赠给 Clojure 核心库,否则我将有兴趣进行端口转换。

10 答案

0

评论者:markengelberg

我同意这是有价值的,并且基于现有的端口可能会有很大的帮助。你愿意领头问 Alan Dipert 并找出如何有效地使用读取条件来合并两个吗?

0

评论者:timvisher

我们还在对此感兴趣吗?

0

评论者:markengelberg

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

0

评论者:timvisher

太棒了。我现在正在研究这个问题。我刚刚打开了一个新问题,以尝试汇总行结束标记。 http://dev.clojure.org/jira/browse/DPRIMAP-9

0

评论者:timvisher

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

看法如何?

0

评论者:markengelberg

我在前面的评论中说,“我认为这值得做,”这个评论完全是基于“cljc是现代 Clojure 库应该做的事情”。但当我更多地考虑这个问题时,我意识到我们合并clojure和clojurescript版本所获得的好处并不完全清楚,尤其是在这个代码几乎完全关于实现Clojure和Clojurescript之间完全不同的协议和接口的情况下,所以代码中共同的部分很少。由于代码的共同点很少,不清楚合并到一个文件中是否比两个独立的文件更容易维护或扩展。除此之外,自创建以来,优先级映射在过去的几年里变化很小,预计未来的变化也很少。

因此,我开始怀疑这样做是否值得付出的努力和引入错误的风险,但就你对此问题感兴趣的程度而言,我认为cljc是前进的正确方式。

所以在你一头扎进去之前,让我问一下你的看法:将两个文件合并到一个cljc文件中有什么好处?

0

评论者:timvisher

我认为这很有价值,仅仅因为这样就会给clojurescript提供“官方”的贡献支持。我主要对此感兴趣,因为我需要在正在进行的项目中的一个优先级队列,我也想尝试cljc。所以这既是学习练习也是实践的努力。

尽管如此,我非常惊讶于类型声明之间的差异。我原以为可以使用#?替换一些类型,但实现方式完全不同。我还不能决定能统一多少,但我希望是相当多的。

所以无论你是否接受,我都想试试。

我假设你在上面所说的隐含接受最低支持的版本为1.7?

0

评论者:markengelberg

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

0

评论者:alexmiller

请注意,目前我们使用的Hudson CI系统(用于构建贡献项目的构建)无法构建cljc项目。要构建,需要clojure-maven-plugin的新版本,这需要某些必需插件对应的Maven 3,而我们使用的旧版Hudson不支持。

这在我的优先级列表中相当高,因为我们已经在为test.check(这只是时间问题,其他人也需要这个问题)而斗争。但您或许愿意等待我们解决这个问题后再做。

在没有CI服务器的情况下手动构建和发布项目是可能的(我为test.cehck做过),但这并不容易。

0
...