David Thompson <dthomps...@worcester.edu> skribis: > It's not exactly threadless. There is one server thread that waits for > clients, and for each client there is one thread that waits for user > input. The difference is that the client REPL is executed in the main > thread, sans reading user input. I use my own coroutine and scheduler > modules to do it in guile-2d. I call it the "cooperative REPL". > > I agree that it would be nice to extract this into something that more > people could use. The modules in question are (2d coroutine), (2d > agenda), and (2d repl coop-repl). > > https://github.com/davexunit/guile-2d/blob/master/2d/coroutine.scm > https://github.com/davexunit/guile-2d/blob/master/2d/agenda.scm > https://github.com/davexunit/guile-2d/blob/repl-v2/2d/repl/coop-repl.scm
I don’t know the answer to your initial question, but the above looks pretty cool! Ludo’.