5.4 Acknowledgements
8sync has a number of inspirations:
- asyncio
for Python provides a nice asynchronous programming environment, and
makes great use of generator-style coroutines.
It’s a bit more difficult to work with than 8sync (or so thinks the author)
because you have to “line up” the coroutines.
- Sly
by David Thompson is an awesome functional reactive game programming
library for Guile.
If you want to write graphical games, Sly is almost certainly a better choice
than 8sync.
Thanks to David for being very patient in explaining tough concepts;
experience on hacking Sly greatly informed 8sync’s development.
(Check out Sly, it rocks!)
- Reading SICP, particularly
Chapter 3’s writings on concurrent systems,
greatly informed 8sync’s design.
- Finally, XUDD
was an earlier “research project” that preceeded 8sync.
It attempted to bring an actor model system to Python.
However, the author eventually grew frustrated with some of Python’s
limitations, fell in love with Guile, and well... now we have 8sync.
Much of 8sync’s actor model design came from experiments in developing
XUDD.
The motivation to build 8sync came out of
a conversation
at the FSF 30th party between Mark Weaver, David Thompson, Andrew
Engelbrecht, and Christopher Allan Webber over how to build
an asynchronous event loop for Guile and just what would be needed.
A little over a month after that, hacking on 8sync began!