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

欢迎!请参阅关于页面了解此功能的工作方式。

0
data.priority-map

随着Clojure 1.7版本和reader条件语句的即将发布,添加ClojureScript支持是否有兴趣?已经在https://github.com/tailrecursion/cljs-priority-map中有一个移植版本。Alan Dipert可能会将其捐赠给Clojure核心,否则我会感兴趣进行移植。

10 个答案

0

评论者:markengelberg

我同意这是一个有价值的项目,并且基于现有的移植版本可以帮助很多。你想要带头询问Alan Dipert,并找出如何有效地使用reader条件语句将它们合并吗?

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
...