ArxLang compiler ecosystem
ArxLang is an experimental statically typed language and compiler toolchain. The Arx frontend parses source into ASTx nodes. IRx performs semantic analysis, lowers supported nodes to LLVM IR, and builds native artifacts. IRx also provides runtime components for Apache Arrow-backed collections.
Python 3.10+ LLVM Apache Arrow C++ Apache-2.0
```
title: Arrow-backed rows
```
fn main() -> i32:
var rows: dataframe[id: i32, score: f64] = dataframe({
id: [1, 2, 3],
score: [0.5, 0.8, 1.0],
})
return cast(rows.nrows(), i32)
Compiler architecture
The compilation path separates source parsing, program representation, semantic analysis, LLVM lowering, and runtime integration. Each package owns a defined part of that path.
Source frontend
Arx owns indentation-sensitive syntax, modules, classes, templates, tests, and the compiler CLI. The parser emits ASTx nodes rather than an Arx-specific AST model.
Analysis and LLVM backend
IRx analyzes symbols, calls, types, control flow, templates, classes, and FFI contracts. It lowers the supported ASTx subset to LLVM IR and activates native runtime features when they are required.
Packages
Package pages describe implemented behavior, known limitations, and planned work. The labels below summarize the current maturity of each primary package.
Functional prototype
Arx
The source language, lexer, parser, project model, test runner, and native compiler CLI.
Functional, evolving
ASTx
A language-agnostic Python model for typed abstract syntax trees and compiler tooling.
Functional experimental backend
IRx
Semantic analysis, LLVM lowering, native artifacts, diagnostics, and runtime feature activation.
API foundation only
ArxPy
The developing Python-facing compiler API, currently focused on structured diagnostics and public error types.
Frontend foundations only
ArxJIT
A developing decorator route from a restricted Python subset to ASTx and IRx; decorated calls still use Python fallback today.
Project workflows
ArxPM
Manages Arx projects, environments, dependencies, builds, runs, packaging, and publishing workflows.
Syntax highlighting
VS Code extension
Provides TextMate highlighting, language configuration, file associations, and icons for Arx source files.
Wrapper kernel
Jupyter kernel
Compiles notebook cells with the Arx CLI and returns native program output to Jupyter.
Docstring tooling
Douki
Validates and synchronizes YAML docstrings. Arx uses the Douki structure for source and Python documentation.
Apache Arrow integration
IRx includes a native Apache Arrow C++ runtime. Generated LLVM calls an IRx-owned C ABI, while Arrow C++ manages container layout and ownership. The required runtime artifacts are compiled and linked when a program uses the corresponding feature.
- Arrays with Arrow C Data interoperability
-
Tensors backed by
arrow::Tensor -
DataFrames backed by
arrow::Table -
Series backed by
arrow::ChunkedArray - RecordBatch IPC and PyArrow round trips
Project status: The primary packages are pre-production. Documented implemented behavior is tested, but language semantics and package APIs can still change. See the ecosystem status for current capabilities and limitations, and the roadmap for planned work.