Is it possible to implement coroutines using only LISP primitives?
-
26-09-2019 - |
Question
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?
Solution
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).
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow