|Title:||Emit - Communicating Sequential Processes in Ruby|
|Conference:||Communicating Process Architectures 2018|
Mads Ohm Larsen, Brian Vinter
Niels Bohr Institute, University of Copenhagen
CSP is an algebra for reasoning about concurrent systems of processes. Being able to do so has become a necessity for computer scientists. Having to think about abstractions like mutexes and threads in practice can be cumbersome, complex, and erroneous.
Ruby as a programming language have been described as fun to program in. It is however missing a CSP framework that it can call its own. Emit, which is presented in this paper, tries to mitigate this by providing such a CSP framework.
As a CSP framework, Emit makes it easy to think about processes, channels, and communication. It is not yet feature complete, however comparing it to its nearest peer, PyCSP, shows good performance for the commstime benchmark, where Emit is 100 times faster.