Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to implement coroutines using only LISP primitives?

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?

like image 930
eonil Avatar asked Aug 09 '10 03:08

eonil


1 Answers

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).

like image 161
Vijay Mathew Avatar answered Sep 21 '22 20:09

Vijay Mathew