Arx Capability Matrix

How to read this matrix

This matrix distinguishes end-to-end Arx support from lexical reservation and ASTx modeling. Complete means the checked-out repository has the relevant pipeline path and tests; it does not yet imply a frozen compatibility promise. Partial means users must follow the linked/current limitations. Reserved means the spelling is recognized but must not be advertised as usable.

Construct Lex/parse Semantics LLVM/runtime Current status
Typed scalar functions and returns Complete Complete Complete Production candidate
Default arguments Complete Complete Complete Production candidate
Named function/method calls Parsed call operands Declaration binding and default holes Source-order evaluation; positional ABI Supported subset; no unpacking or keyword-only declarations
C extern declarations Complete Complete Complete for supported scalar/pointer forms Partial pending stable FFI ABI
External native package dependencies Existing extern syntax Origin-bound capabilities; ABI validation Isolated registered native compilation/linking Declarative subset; no plugins, callbacks, public raw pointer syntax, or graphics runtime
Function templates Complete for current forms Complete for current forms Complete for tested instantiations Partial pending compatibility specification
Typed mutable variables Complete Complete Complete Production candidate
General const declaration Token reserved Incomplete Incomplete Reserved
Scalar arithmetic/comparisons/casts Complete for documented operators Boolean operands and numeric conversions validated Wrapping integers, checked division, short circuit Partial pending floating non-finite/NaN rules; integer and Boolean rules specified
if/else and while Complete Complete Complete Production candidate
Count and range for Complete Complete Complete Production candidate
List for ... in Complete Borrowed iteration over owned/static lists Complete for scalar list elements Partial; lifecycle is enforced outside generators
break and continue in Arx source Incomplete ASTx/IRx support exists IRx support exists Not an Arx feature yet
Modules and imports Complete from one entry graph Complete Complete Partial pending cycle/init specification
Multiple direct CLI entry files Rejected early Not applicable Not applicable Unsupported; use imports
Source resource limits and locations UTF-8/size/token/nesting limits; one-based Unicode columns Not applicable Not applicable Implemented; compatibility freeze pending
Classes, fields, methods, inheritance Complete for documented subset Complete for documented subset Complete for documented subset Partial; acyclic lifecycle supported, external ownership ABI deferred
Constructor arguments/bodies and destruction Positional, keyword, literal defaults Hooks, references, acyclic fields validated Checked reference counts and concrete drops Partial; no overloads, cycles, base forwarding, or fatal cross-frame unwind
Finite union aliases/casts/type queries Complete Complete Complete for tested forms Experimental candidate
Strings, concatenation, casts, and returns Complete for current scalar forms Static/borrow/owner/copy/move rules enforced Checked allocation plus lexical cleanup Partial; immutable pointer ABI, owned class fields supported; no generators/external returns
Literal and dynamic lists Complete Owner/borrow/move/return rules enforced Checked append/index plus lexical cleanup Partial; scalar elements and move-only values
Fixed-shape numeric tensors Complete Complete Complete for tested readonly paths Experimental candidate
Runtime-shaped tensor parameters Complete for documented syntax Partial Partial No general dynamic indexing/return ownership
Static-schema DataFrame/Series Complete Complete for numeric/Boolean columns Complete for tested paths Experimental candidate
Runtime-schema DataFrame named access Partial modeling Incomplete Incomplete Not supported
stdlib.arrow RecordBatches and IPC Ordinary classes/imports Resolved native FFI and scoped class ownership IPC files/streams, C Data/C Stream Runtime schemas; nullable scalar access; no DataFrame conversion
stdlib.arrow TCP streams Ordinary methods Validated scalar arguments POSIX blocking client transport Multi-batch tests require socket access; no TLS/Flight
RecordBatch/PyArrow Python API Not Arx syntax Python validation Native Arrow C++ bridge Experimental Python API
Native text files (File, open) Builtin File class and lowercase file alias Shared class refs; private unique native handle Checked C stdio, UTF-8, POSIX Partial; no binary/descriptors/with, nondefault options, reopening, subclassing, or NUL text
Assertions and arx test Complete Complete Complete Production candidate after error semantics freeze
Douki docstrings Complete validation Omitted intentionally Not applicable Supported validation-only feature
Operator declarations Tokens reserved Incomplete Incomplete Reserved
then keyword Token reserved Incomplete Incomplete Reserved
Interactive shell Removed from CLI Not applicable Not applicable Non-goal for first production release
ArxPy compiler facade Parse string/file complete Check complete Host IR/object/executable/run complete Pre-stable; cancellation/targets/queries remain

Cross-stage rule

A row can move to the stable Arx 1 set only when the syntax manifest, token definitions, parser, ASTx nodes, IRx analysis, LLVM lowering, native runtime, exports, positive and negative tests, examples, and documentation all agree as applicable. Unsupported input must fail at the earliest responsible boundary.

Back to top