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

欢迎!有关如何使用本网站的更多信息,请参阅关于页面。

+9
语法和读取器

Clojure的PersistentQueue结构已经存在很长时间,并且已经出现在了许多代码库中。然而,队列的创建通常是一个两步操作,形式如下:

`
(conj clojure.lang.PersistentQueue/EMPTY :a :b :c)

;=> #
`

可能更好的体验如下:

`

queue [:a :b :c]

;=> #queue [:a :b :c]

(pop #queue [:a :b :c])

;=> #queue [:b :c]
`

此语法已在https://groups.google.com/forum/?fromgroups#!topic/clojure-dev/GQqus5Wycno的Clojure-dev组中提出和讨论。

开放问题:队列文字的参数应该评估吗?这是以下示例所表述的含义:

`
;; 评估情况

queue [1 2 (+ 1 2)]

;=> #queue [1 2 (+ 1 2)]

;; eval case

queue [1 2 (+ 1 2)]

;=> #queue [1 2 3]
`

此开放问题的答案将决定实现方式。

20 个答案

0

评论者:jafingerhut

2012年10月16日,clj-976-queue-literal-eval-and-synquote-patch-v3.txt的修改与Fogus于2012年7月20日提供的CLJ-976-queue-literal-eval-and-synquote.diff修改相同。它简单地移除了Rich后来的不同提交中添加到clojure.iml中的一行,因此这个补丁现在可以干净地应用到最新的master上。

0

评论者:jafingerhut

由于最近对CLJ-1070提交了一个补丁,我修改过的补丁 clj-976-queue-literal-eval-and-synquote-patch-v3.txt(2012年10月16日)无法干净地应用。在这种情况下,不仅仅是上下文中的几行发生了变化,实现PersistentQueue接口的接口也已更改。最好查看最新的代码和补丁,并考虑如何进行更新。

0
by

评论人:[email protected]

与CLJ-1078相关。

0
by

评论人:alexmiller

将该问题回退到Triaged状态,因为Rich尚未审核。

0
by
...