Next: , Previous: , Up: Addendum   [Contents][Index]

5.2 8sync and Fibers

One other major library for asynchronous communication in Guile-land is Fibers. There’s a lot of overlap:

However, there are clearly differences too. There’s a one to one relationship between 8sync actors and an actor inbox, whereas each Fibers fiber may read from multiple channels, for example.

Luckily, it turns out there’s a clear relationship, based on real, actual theory! 8sync is based on the actor model whereas fibers follows Communicating Sequential Processes (CSP), which is a form of process calculi. And it turns out, the relationship between the actor model and process calculi is well documented, and even more precisely, the relationship between CSP and the actor model is well understood too.

So, 8sync and Fibers do take somewhat different approaches, but both have a solid theoretical backing… and their theories are well understood in terms of each other. Good news for theory nerds!

(Since the actors and CSP are dual, maybe eventually 8sync will be implemented on top of Fibers… that remains to be seen!)