Scala-gopher: CSP-style programming techniques with idiomatic Scala
Ruslan Shevchenko

TL;DR
Scala-gopher introduces CSP-style communication constructs into Scala, enabling idiomatic and expressive concurrency patterns similar to Go, with integration into existing Scala frameworks like Akka.
Contribution
It provides a library-level implementation of CSP constructs in Scala, bridging the gap between Go-style communication and Scala concurrency.
Findings
Enables CSP-style programming in Scala using channels and selectors.
Integrates with Akka and SIP-22 async for seamless concurrency.
Discusses implementation challenges and future directions.
Abstract
Cala-gopher is a library-level Scala implementation of communication sequence process constructs: channels, selectors (similar to analogical constructs in Limbo or Go) transputers (similar to Occam proc) and a set of high-level operations on top of akka and SIP-22 async. The framework integrates CSP-style programming into standard Scala concurrency environment via idiomatic API. This allows usage of communication patterns, well known in Go world, but not easy expressable in mainstream scala concurrency frameworks, along with algebraic approach for composing computation builders. Besides, we want to discuss current implementation issues and future directions in the context of evolving of compiler and libraries ecosystem.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems
