Documentation
Arx Capability Matrix
Arx Capability Matrix
This is the compact end-to-end support boundary, not a method catalog or a stability promise. Tokenization or an ASTx node alone does not establish Arx support. Package APIs and syntax may change before Arx 2.0 with coordinated caller updates and concise migration notes.
| Area | Supported boundary | Important limits |
|---|---|---|
| Functions and types | Explicit annotations, defaults, named calls, bounded templates, finite numeric unions | No inferred local declarations, argument unpacking, or keyword-only declarations; no runtime tagged unions |
| Numeric safety | Lossless promotion, checked arithmetic/casts, scalar compound assignment, explicit wrapping | 8–64-bit integers; no bigint fallback; typed recoverable dynamic failures |
| Control flow | if/elif/else, while, count loops, scalar-list for ... in, try/except/else/finally |
No Arx break, continue, general generators, or with; see the exception boundary |
| Modules and projects | One entry graph; local, relative, namespace, stdlib and installed imports | Cycles fail; no multiple direct CLI entries or executable module-level initialization |
| Classes and files | Acyclic shared identities, lifecycle hooks, string/File/class fields | No owning list/Arrow fields, class containers, cycles, general foreign object ABI, or fatal cross-frame unwinding |
| Lists and text | Owned lists and Unicode text parsing; code-point indexing and clipped slices | No negative text indices/bounds, non-unit text steps, embedded NUL, mutable list parameters, or owning generator captures |
| Tensors | Readonly fixed-shape numeric values; runtime-shaped parameters | No dynamic indexing or general runtime-shaped returns |
| DataFrames and Series | Static/rich schemas, runtime-schema locals/returns, exact checked casts, numeric/Boolean nullable expressions | No unchecked runtime column access; rich storage does not imply rich scalar arithmetic |
| CSV, Parquet, Arrow IPC | Eager chunked frames, explicit streams, snapshots, C Data/C Stream interchange | Native toolchain required; format restrictions apply; TCP is blocking/POSIX without TLS/Flight |
| Native packages | Declarative registered C ABI dependencies | No raw-pointer source API, callbacks, plugins, or stable general FFI ABI |
| CLI and tests | Inspect, compile, run, and isolated compiled tests; structured diagnostics | Host toolchain controls linking; no interactive shell |
| Docstrings and lexical syntax | Douki validation, UTF-8 source limits, Unicode locations | Docstrings are omitted from AST/IR; const, then, and operator declarations remain reserved |
ArxPy provides Python parse/check/compile/run workflows. ArxJIT still executes Python fallback, not native dispatch.
A support claim needs aligned frontend, ASTx, semantics, lowering/runtime, exports, and positive/negative tests. Unsupported input must fail at the earliest responsible boundary. Keep preview safety contracts and necessary workflow guidance synchronized; adding an API does not require another handwritten reference page.