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-227 days ago5 downloads
0.4-127 days ago1 download
0.3-367 days ago10 downloads
0.3-275 days ago3 downloads
0.3-180 days ago0 downloads
0.2.1-1126 days ago14 downloads
0.2-3137 days ago(revision: 2)0 downloads
0.2-2140 days ago1 download
0.1-1169 days ago(revision: 12)17 downloads

Dependencies

f-streams ~> 0.2
lua >= 5.4

Dependency for

atmos-lang

Manifests