Axis Core is the semantic core and canonical intermediate representation (IR) of the Axis system.
It exists to make program meaning explicit, inspectable, and stable — independent of surface syntax, runtime, or execution strategy.
This repository contains:
- the Core IR model
- the compiler that produces it
- tooling to inspect and reason about semantic structure
It is not a general-purpose programming language and not a complete platform. Higher-level language surfaces and tools are layered on top of this core.
Surface Language(s)
│
▼
IR Compiler
│
▼
Axis Core IR
│
▼
Bridge(s)
(Rust, etc.)
-
IR Compiler Lowers surface syntax into the canonical Axis Core IR.
-
Axis Core IR A stable, structured representation of program meaning.
-
Bridges Project Core IR into executable or target-specific forms.
This separation is deliberate: execution is treated as a projection of meaning, not its source.
If you want to compile something and inspect the Core IR, start here:
This walks through building the compiler, running it locally, and examining the IR output.
If you want to understand why Axis Core is structured this way, read:
👉 Overview
This explains the design goals, constraints, and architectural decisions behind Axis Core.
Axis Core is currently built and invoked locally.
After building the compiler (for example via Cargo), the executable will be available in the build output directory:
./core-compiler/target/release/axis-compiler \
--sources <file.ax> \
--registries <registry.axreg>For example, to compile the examples/hello.ax source file
./core-compiler/target/release/axis-compiler \
--sources examples/hello.ax \
--registries registries/axis.axreg By default, Core IR is emitted into ./coreir/.
Use --out to override the output location.
Use --view-core-ir to inspect a textual representation
of the Core IR graph emitted by Axis.
compile_ax.sh is a small convenience script used during development to
build and run the Axis Core compiler with common arguments.
It exists to:
- simplify local experimentation
- provide a repeatable compile flow
- make IR inspection easier during development
It is not part of a stable interface and may change as the core evolves.
Axis Core is an early, exploratory system.
Pre-1.0 versions are expected to change substantially as the core model evolves. The current implementation exists to prove and refine the semantic approach, not to provide long-term compatibility guarantees.
This project is licensed under the MIT License.