Signals
Elle's unified signal and capability system. Two directions:
- Signals flow up — from callee to caller. Inferred at compile time,
emitted at runtime. Every form of non-local control flow (errors, yields, I/O, fuel exhaustion) is a signal.
- Capabilities flow down — from parent fiber to child. A parent
withholds capabilities via :deny; denied operations become signals the parent can catch and mediate.
| File | Content |
|---|---|
| emit | emit special form, yield/error macros, signal emission |
| capabilities | Capability enforcement, :deny, fiber/caps |
| design | Motivation, prior art, terminology, core insight |
| protocol | Signal protocol, registry, user signals |
| inference | Compile-time verification, restrictions |
| jit | JIT integration |
| recovery | Non-unwinding recovery, error signalling |
| questions | Open and resolved design questions |
| fibers | Fiber architecture (shared topic) |
| primitives | Fiber primitives, cancel vs abort |