请在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
by

评论者:markengelberg

是的,我同意最低支持版本为1.7。

0
by

评论人:alexmiller

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

这在我优先级列表中相当高,因为我们已经在为test.check解决这个问题(并且它将成为其他问题的时间问题)。但是,你可能想等到我们解决这个问题后再行动。

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

0
by
...