Chris Vine <ch...@cvine.freeserve.co.uk> skribis: > It features an a-sync procedure (in coroutines.scm) which can be used to > provide await semantics on asynchronous code (so as to remedy inversion > of control), and will work with callbacks for any event loop, including > the glib event loop wrapped by guile-gnome. More to the point, it also > provides a thread safe event loop for guile (event-loop.scm) with > support for watches on ports/file descriptors, and now supports proper > timeouts, and permits events to be posted by other tasks. This > includes tasks running on other threads, for which there is a helper > procedure a-sync-run-task-in-thread.
Interesting. Have you tried to integrate it with one of the object-oriented event loops like in GLib? (Back in the day I thinking about something like that to avoid the callback hell in Guile-Avahi.) Thanks for the tasty dish! :-) Ludo’.