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"。
在两种情况下都有异常发生,指出 "无法在该上下文中解析符号:a"。

6答案

0

评论由:blandw 提供。

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

0

评论由:blandw 提供。

通过以下方式绕过:

`
(defmacro workaround-async-92
"Hack to workaround core.async bug
cf. http://dev.clojure.org/jira/browse/ASYNC-92"
[]
;; 必须是列表
`(do nil))

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

0

评论由:lgs32a 提供。

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

0

评论者:gshayban

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

0

评论由:lgs32a 提供。

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

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