# Runtime --- ## Requirements * Linux X64 with io_uring (6+) * GNU Make * GCC with -std=gnu99 -fhardened (14+) ## Sections * ##### [Interface](./interface.md) * ##### [Thread](./thread.md) * ##### [Mutex](./mutex.md) * ##### [Memory](./memory.md) * ##### [Io](./io.md) * ##### [Shared](./shared.md) * ##### [Identifier](./identifier.md) * ##### [Type](./type.md) * ##### [Group](./group.md) * ##### [Buffer](./buffer.md) * ##### [Map](./map.md) * ##### [Queue](./queue.md) * ##### [Union](./union.md) * ##### [Native](./native.md) * ##### [Namespace](./namespace.md) * ##### [Error](./error.md) * ##### [Testing](./testing.md) # Invocation ## Startup 1. Configuration 2. Initialize tasks 2. Initialize allocators 4. Initialize types 5. Initialize IO ## Main ### Module ### String/REPL ## Life cycle 1. ##### [Register](../lifecycle/register.md) 2. ##### [Parse](../lifecycle/parse.md) 3. ##### [Scope](../lifecycle/scope.md) 4. ##### [Import](../lifecycle/import.md) 5. ##### [Check](../lifecycle/check.md) 6. ##### [Eval](../lifecycle/eval.md) 7. ##### [Ir](../lifecycle/ir.md) 8. ##### [Jit](../lifecycle/jit.md) 9. ##### [Exec](../lifecycle/exec.md) 10. ##### [Notify](../lifecycle/notify.md) ## Shutdown 1. Clean up IO 2. Clean up types 3. Clean up allocators 4. Clean up tasks