Repository navigation
EN Runtime Model
Plix has two execution paths with the same language semantics:
plix run app.pxThe interpreter is the fastest feedback loop. Use it while exploring syntax, debugging a small function, or reading diagnostics. It avoids a native link step and is ideal for examples and tests.
plix build app.px -o app
./appThe native backend lowers typed and checked code through Cranelift and links it with the Plix runtime. Use it for distributable executables, performance measurements, and deployment-oriented checks.
-
plix check— parse, type-check, and ownership-check. -
plix run— confirm behavior quickly. -
plix build— verify native code generation and linking. - Compare observable output when changing low-level code.
The repository's release battery performs this comparison automatically for examples, guards, fuzz inputs, and negative programs. If interpreter and native behavior differ, treat it as a compiler/runtime defect rather than adjusting the example to hide the difference.
The embedded runtime provides tagged values, heap services, standard-library services, networking support, and optional Python FFI. Native code calls runtime symbols through the frozen ABI described in ABI_CHANGELOG.md.
Learning path: ← Error Guide · Compiler Development →
- Getting Started
- Installation
- Language Reference
- Types and Ownership
- Structs and Traits
- Modules and Projects
- Standard Library
- Error Guide
- Runtime Model
- Architecture
- Compiler Development
- Testing and Tooling
- Cookbook
- Python FFI
- FAQ
- Contributing