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”。

6 个答案

0

评论者:blandw

已确认。
该错误是在 0.1.278.0-76b25b-alpha 与 0.1.295.0-9ea6ef-alpha 之间引入的。

0

评论者:blandw

以以下方式解决

`
(defmacro workaround-async-92
"绕过 core.async 错误的技巧
cf. http://dev.clojure.org/jira/browse/ASYNC-92"
[]
必须是一个列表
`(do nil))

(let [a (workaround-async-92)]
...)
`

0

评论者:lgs32a

修改了 RawCode 实例的两个方法,以便它们在忽略之前检查 locals 中的 collected-locals 是否包含

0
by

评论者:gshayban

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

0
by

评论者:lgs32a

我已经填了,昨天。收到一封自动确认邮件,称Rich Hickey签署了。我还需要做些什么吗?

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