是否可以仅使用 LISP 原语来实现协程?
首先,我是一个 LISP 新手。
我想要得到的是协作微线程功能。这可以通过协程来实现。据我所知,Scheme 通过延续来支持协程。然而,并非所有计划的实施都可以延续。如果是这样,我可以添加仅使用 LISP 原语的延续功能吗?
First, I'm a LISP newbie.
What I want to get is a cooperative micro-threading feature. And this can be gained with coroutine. As I know, Scheme supports coroutines via continuations. However, not all Scheme implementation may have continuations. If so, can I add a continuation feature with only LISP primitives?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以。 编程语言精要的第5章和第6章展示了如何在Scheme中实现延续。 Paul Graham 在他的著作 On Lisp 中解释了如何在 Common Lisp 中实现延续(第 20 章22)。
You can. Chapters 5 and 6 of Essentials of Programming Languages shows how to implement continuations in Scheme. In his book On Lisp, Paul Graham explains how to implement continuations in Common Lisp (Chapters 20-22).