- Rust 99.2%
- Nix 0.8%
| concurrent-list | concurrent-list: fix push_back test | |
| src | Some minor changes | |
| .envrc | Generate rust crate scaffold | |
| .gitignore | Remove unused crate and add gitignore | |
| banner.png | Update README for transfer to sourcehut | |
| Cargo.lock | Update README | |
| Cargo.toml | Update README | |
| LICENSE.md | Generate rust crate scaffold | |
| logo.png | Update README for transfer to sourcehut | |
| README.md | Fix citation in opening quote | |
| shell.nix | Refactor scheduler internals | |
In Greek mythology, Calypso (
/kəˈlɪpsoʊ/) was a nymph who lived on the island of Ogygia, where, according to Homer's Odyssey, she detained Odysseus for seven years. 1
An async actor runtime written in Rust. Calypso borrows heavily from Erlang/OTP for its design and enables highly parallel and scaling applications.
The work primitive in Calypso is a Worker, which has its own state, API surface, and reactor controls. It is scheduled either based on message inputs, or timing events. Workers can be connected into groups of dependencies via supervisor trees. This allows for granual error handling based on the state of connected systems. If a system becomes faulty a supervisor can easily restart the entire system and re-run a set of commands.
The APIs between workers are implemented via dispatch message passing,
meaning that all calls are non-blocking by default (which is not the
case with the basic async/await design in Rust).
How to use
Currently only here to make imports for another one of my projects easier :)
License
Calypso is free software licensed under the GNU General Public License 3.0 or later. A copy of this license is included in the repository.