Clojure 2024 年度调查! 中分享您的想法。

欢迎!请参阅关于页面以了解更多关于如何使用此网页的信息。

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

太棒了。我现在正在深入研究这个问题。我刚刚打开了一个不同的议题,试图一起获取行尾。

0

评论者:timvisher

关于 Clojure 版本支持,我们想做什么?如果我们对1.7以前的版本不再支持,那么我就可以使用cljc来针对两个平台。如果我们想维持对以前版本的支持,那么我必须采用不同的方法。

有意见吗?

0

评论者:markengelberg

我在先前的评论中说,“我认为这是值得的”,这个评论完全是由“cljc是现代Clojure库应该做的事情”这个观念驱动的。但我越想越觉得,通过合并 Clojure 和 Clojurescript 版本,我们真正获得的好处并不明确,特别是鉴于这段代码几乎全是关于实现 Clojure 和 Clojurescript 之间完全不同的协议和接口,所以共同代码很少。此外,由于代码共同点很少,不清楚合并为一个文件比两个分开的文件更容易维护或扩展。除此之外,优先映射图自其创建以来变化非常小,未来可能更改也很少。

因此,我开始怀疑这样做是否值得努力和引入错误的风险,但如果你对此问题感兴趣,我认为cljc的方式行得通。

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

0

评论者:timvisher

我认为这值得去做,仅因为这样会给 Clojurescript 带来“官方”的 contrib 支持。我主要对此感兴趣,因为我需要在我正在工作的项目中实现一个优先队列,并且我也想试验 cljc。因此,这既是学习实践,也是实际工作的一部分。

尽管如此,我非常惊讶类型声明差异如此之大。我曾认为我可以用 #? 只需替换一些类型,但实现方式截然不同。我还没有决定能多大程度上一致化,但我希望是相当多。

所以,无论你接受与否,我都想进行这个练习。

我假设你上面所说的暗含了对1.7以下版本的最小兼容版本的接受?

0

评论者:markengelberg

是的,我能够接受最低兼容版本为1.7。

0

发件人:alexmiller

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

这在我的优先级列表中相当高,因为我们已经在为test.check斗争这个问题(并且它很快就会对其他人也变得必要)。但你可能想稍等一下,直到我们解决了这个问题。

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

0
...