在 Clojure 的core.async 库中,我们看到一个宏,它创建一个状态机,该状态机环绕go
块以创建处理阻塞 IO 的通道。
这似乎是在C#和Go-lang 的 goroutines上建模 。async
在 The Seasoned Schemer中,他们描述了传递延续的技术。(这似乎基于 call/cc)。我们还看到了来自David Nolen的关于Clojure中分隔延续的库。
在这里,他们将 C# 描述async
为 ' call with current continuation '。
我的问题是我们可以将 Clojure 的 core.async 描述为“延续传递风格”吗?
还是“延续”(定界和未定界)是一个超载的术语?
编辑:另外说明 - David Nolen对 core.async 说过:
在 go 块内部,它给您一种错觉,即您可以以同步的方式执行这些操作,因此您不必手动以连续传递样式编写代码。