Skip to main content

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, ...] uses arrow::Tensor
  • dataframe[name: T, ...] uses arrow::Table
  • series[T] uses arrow::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, and type
  • if/else, while, count loops, and list-valued for ... 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

arxlang-1.24.1.tar.gz (66.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arxlang-1.24.1-py3-none-any.whl (79.8 kB view details)

Uploaded Python 3

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

Hashes for arxlang-1.24.1.tar.gz
Algorithm Hash digest
SHA256 fa6a0e8b3424f813ede26f976694a8c7083ebab027e95f9acfc3110f8722351e
MD5 3f547db0c6975c8da271ae62b8b77556
BLAKE2b-256 1276aab44c527ab273fd1baf65d864afcfbfb89b4793221c028635f40a71dee0

See more details on using hashes here.

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

Hashes for arxlang-1.24.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fb75cf64adf0b0312560bdab49f205dcf8964a874bfe94e68e1a7e5223159fd8
MD5 198fab16ad25459e64a7ab3540f51b88
BLAKE2b-256 7521db681a6836f4894bd958f5710bd90eb369e265dd4080993ecedad4bd4962

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page