Internals
How the build, the request path and the C boundary actually work.
Cataract is two layers. cataract-cli scans a project and generates Chapel source; cataract-runtime is the server that source is linked against. They share only the generated code.
In this section
- Architecture — the build stages and the request path
- Concurrency — tasks, the accept gate, and shared state
Reading this section is not required to use the framework. It is here because a server you cannot reason about is a server you cannot trust, and because the constraint that shaped the I/O design — a Chapel task blocked in a foreign call does not release its scheduler worker — explains almost every decision below it.