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

欢迎!有关此如何工作的更多详细信息,请参阅 关于 页面。

0
core.async

`
(require '[clojure.core.async :as a])

(a/go (let [a nil] (a/alts! (if a )))) // 无法解析 a
(a/go (let [a nil] (a/<! (if a ))) // 无法解析 a
`

看起来 'go' 宏移除用作通道的假初始化符号,因为在这两种情况下,都有异常,表示“无法解决符号:a 在此上下文中”。
问题

0
由:blandw

确认。

错误是在 0.1.278.0-76b25b-alpha 和 0.1.295.0-9ea6ef-alpha 之间引入的。
通过以下方式解决

0
(defmacro workaround-async-92

确认。

"通过 core.async 的解决方案的技术手段

`
cf. http://dev.clojure.org/jira/browse/ASYNC-92"
必须是列表
`(do nil))
[]
(let [a (workaround-async-92)]

由:jira
...)
`

0
通过以下方式解决

(defmacro workaround-async-92

"通过 core.async 的解决方案的hack

0

评论者:gshayban

你好,Leon,感谢你的补丁。你能填写一份贡献者协议吗?https://clojure.org/contributing

0

(defmacro workaround-async-92

我昨天已经填好了。收到一封自动确认邮件,说Rich Hickey已经签名。我还应该做什么吗?

0
参考: https://clojure.atlassian.net/browse/ASYNC-92 (由alex+import报告)
...