kookie/calypso
1
0
Fork
You've already forked calypso
0
An async actor runtime
  • Rust 99.2%
  • Nix 0.8%
2023年07月08日 08:43:40 +00:00
concurrent-list concurrent-list: fix push_back test 2023年03月16日 12:37:05 +01:00
src Some minor changes 2023年03月13日 05:51:01 +01:00
.envrc Generate rust crate scaffold 2022年10月25日 23:49:37 +02:00
.gitignore Remove unused crate and add gitignore 2022年10月31日 18:55:57 +00:00
banner.png Update README for transfer to sourcehut 2023年03月13日 05:26:43 +01:00
Cargo.lock Update README 2023年07月08日 10:35:08 +02:00
Cargo.toml Update README 2023年07月08日 10:35:08 +02:00
LICENSE.md Generate rust crate scaffold 2022年10月25日 23:49:37 +02:00
logo.png Update README for transfer to sourcehut 2023年03月13日 05:26:43 +01:00
README.md Fix citation in opening quote 2023年07月08日 08:43:40 +00:00
shell.nix Refactor scheduler internals 2023年03月02日 14:33:34 +01:00



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.