Atmos is a programming library for Lua that reconciles Structured Concurrency with Event-Driven Programming

$ luarocks install atmos

Atmos is a programming library for Lua that reconciles *Structured
Concurrency* with *Event-Driven Programming*, extending classical
structured programming with two main functionalities:

- Structured Deterministic Concurrency:
- The `task` primitive with deterministic scheduling provides
predictable behavior and safe abortion.
- Structured primitives compose concurrent tasks with lexical scope
(e.g., `watching`, `every`, `par_or`).
- The `tasks` container primitive holds attached tasks and control
their lifecycle.
- Event Signaling Mechanisms:
- The `await` primitive suspends a task and wait for events.
- The `emit` primitive signal events and awake awaiting tasks.

Atmos is inspired by synchronous programming languages like Ceu and
Esterel.

Versions

0.4-212 days ago3 downloads
0.4-112 days ago1 download
0.3-352 days ago10 downloads
0.3-260 days ago3 downloads
0.3-165 days ago0 downloads
0.2.1-1111 days ago14 downloads
0.2-3122 days ago(revision: 2)0 downloads
0.2-2125 days ago1 download
0.1-1154 days ago(revision: 12)17 downloads

Dependencies

f-streams ~> 0.2
lua >= 5.4

Dependency for

atmos-lang

Manifests