Beams is a distributed programming framework based on the idea of code mobility. It utilizes ZIO to provide high-level composable abstractions for writing distributed programs and uses Akka to run them in distributed environments.
Distributed programming approaches taken in Beams are similar to Unison's ones. Unlike Unison, Beams does not support strong code mobility. However, in presence of higher-order functions and closure serialization, strong code mobility can be implemented via continuations.
Beams encapsulates error handling and distributed task cancellation allowing to focus on business logic.
- No messaging and complex state machines, just plain ZIO-style code.
- No async-programming related complexities, Beams strongly relies on unified ZIO-programming model.
- Resource management are also implemented using ZIO.
- No timeouts, Beams relies on task cancellation instead.
See hello-world for introductory example.