Noctis Runtime
Noctis is the language-neutral runtime beneath Nox and Nyx. It defines the common representations that allow compiled engine code and interpreted development code to interoperate without creating a bespoke binding layer for every language pair.
- Technology
- C++ / Runtime architecture
- Status
- Design phase
Two languages need one honest runtime boundary.
Nox and Nyx deliberately expose different levels of control, but values crossing between them still need one stable identity, layout, invocation model, and error path. Building those rules separately into each frontend would create duplicated policy and incompatible assumptions.
Standardise representation, not language policy.
Noctis owns only the boundary: type descriptors, cross-language values, callable environments, shared core types, registration, dispatch, and result transport. Source syntax, ownership analysis, compilation, and interpretation stay with their respective languages.
What it does.
- 01
A language-neutral registry for types, fields, methods, variants, and inheritance
- 02
A shared value protocol designed to minimize copying and marshalling
- 03
Stable callable-environment and invocation contracts
- 04
Common Result and Error transport across explicit and implicit error models
- 05
One host-registration surface for Nox, Nyx, and existing C++ systems
How decisions
get made.
Share the boundary
Concepts used by multiple frontends get one runtime representation instead of parallel adapters.
Keep policy in languages
Ownership, inference, syntax, and execution strategy remain frontend responsibilities.
Build foundations first
The Nyx VM and Nox integration should target Noctis contracts rather than forcing the runtime to retrofit ad hoc internals.
