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
"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

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

0 投票

评论由:lgs32a 发布

我填写了,昨天。我收到一封自动确认邮件,说是Rich Hickey已签署。我应该对这个协议做些什么吗?

0 投票
参考资料:https://clojure.atlassian.net/browse/ASYNC-92(由Alex导入报告)
...