Arx language compiler
arxlang is the main language frontend in the ArxLang ecosystem. It provides
the arx Python package and arx command for lexing, parsing, inspecting, and
compiling .x source files.
Arx emits ASTx nodes and delegates semantic analysis, LLVM lowering, native runtime features, and linking to IRx.
Status: functional prototype. Supported behavior is tested, but the language and APIs are not yet production-stable.
Native Apache Arrow collections
Arx exposes data-oriented types backed by IRx's native Arrow C++ runtime:
tensor[T, D0, ...]usesarrow::Tensordataframe[name: T, ...]usesarrow::Tableseries[T]usesarrow::ChunkedArray
fn main() -> i32:
var grid: tensor[i32, 2, 2] = [[1, 2], [3, 4]]
var rows: dataframe[id: i32, score: f64] = dataframe({
id: [1, 2, 3],
score: [0.5, 0.8, 1.0],
})
return cast(rows.nrows(), i32)
Current Tensor elements are fixed-width signed integers and floats. Current
DataFrame columns are fixed-width numeric values or bool. Runtime-shaped
Tensor and runtime-schema DataFrame types are parameter-only, and their dynamic
index/column access remains deferred.
Install
pip install arxlang
arx --version
Building executables requires LLVM/Clang-compatible tools. Arrow-backed features also require a C++ compiler.
CLI
arx --show-tokens program.x
arx --show-ast program.x
arx --show-llvm-ir program.x
arx program.x --output-file program
arx --run program.x
arx test
Use --link-mode auto, pie, or no-pie when a platform requires an explicit
linking mode.
Implemented language areas
- explicit scalar, collection, class, and finite-union annotations
- functions, trailing defaults, externs, and templates
- mutable variables, assignments, casts,
isinstance, andtype if/else,while, count loops, and list-valuedfor ... in- absolute, relative, grouped, namespace, installed-package, and stdlib imports
- classes, inheritance, fields, methods, modifiers, and default construction
- lists, builtin
range, Tensors, DataFrames, and Series - Douki module/class/function/method docstrings
- fatal assertions and compiled tests
Boundaries
Arx owns source syntax and CLI behavior. It does not define new AST node types or implement feature lowering locally: those responsibilities belong to ASTx and IRx respectively.
Documentation: https://arxlang.org
License: Apache-2.0.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arxlang-1.24.1.tar.gz.
File metadata
- Download URL: arxlang-1.24.1.tar.gz
- Upload date:
- Size: 66.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.10.20 Linux/6.17.0-1020-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa6a0e8b3424f813ede26f976694a8c7083ebab027e95f9acfc3110f8722351e
|
|
| MD5 |
3f547db0c6975c8da271ae62b8b77556
|
|
| BLAKE2b-256 |
1276aab44c527ab273fd1baf65d864afcfbfb89b4793221c028635f40a71dee0
|
File details
Details for the file arxlang-1.24.1-py3-none-any.whl.
File metadata
- Download URL: arxlang-1.24.1-py3-none-any.whl
- Upload date:
- Size: 79.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.10.20 Linux/6.17.0-1020-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb75cf64adf0b0312560bdab49f205dcf8964a874bfe94e68e1a7e5223159fd8
|
|
| MD5 |
198fab16ad25459e64a7ab3540f51b88
|
|
| BLAKE2b-256 |
7521db681a6836f4894bd958f5710bd90eb369e265dd4080993ecedad4bd4962
|