Implementation status

The current supported surface and the boundary between working RiX features and active design.

RiX is an active alpha. Its parser, AST-to-IR lowering, and broad evaluator are working; the language remains free to change before a stable release. This page is the current status boundary. Older reports and design notes are valuable history but are not authoritative status pages.

The umbrella ratmath/WORK_PLAN.md consolidates the current execution queue and later decisions (reconciled 2026-09-20).

The repository test suite has broad automated coverage across parser, evaluator, runtime, CLI, tooling, documentation, and examples. Run bun test in rix/ for the exact count and result at your revision.

Working and tested

Area Current surface
Exact arithmetic integers, rationals, mixed/repeating/continued-fraction forms, rational intervals, and exact rational enclosures for certified approximations
Language pipeline tokenizer, Pratt parser, AST, lowering, call-shaped IR, evaluator dispatch
Functions lambdas, named functions, rest/spread, partials, arity caps, prepared functions, multifunctions, tail-self call path
Collections arrays, lazy sequences, iterators, maps, sets, tuples, Shaped storage, Matrix semantics, coordinate-aware Vector/Covector/Tensor values, indexing/slicing, traversal pipes, methods
Control and scope blocks, cases, ternaries, loops, break blocks, cells, five assignment modes, destructuring, imports
Async runtime promise-aware host API; {$ ... } code blocks with import headers, FIFO bounded finite-collection fan-out, nested structural collections, fused map/filter/find/all stages, and named completion breaks; supervised {$$ ... } blocks with host draining
Semantics metadata classes, semantic inquiry/conversion, type and trait registries, constructor capture
Exact extensions units/quantities, algebraic exact generators, exact complex operations, Cayley polar representation
Exact polynomial plugins pure-RiX .poly owns the canonical callable Polynomial identity, reactive coefficients, exact arithmetic/division, derivatives, Sturm chains, root counts, and root bounds; pure-RiX .algebra supplies presentation metadata and synthetic-division Grids; pure-RiX .algebraicReal reuses the same Polynomial service for certified roots
Exact plugin implementations .fraction, .radix, .poly, .ratfun, .algebra, .exactAlgebras, .oracle, .ball, .cauchy, .continuedFraction, .algebraicReal, .numerics, .linalg, .optimize, .solve, .geometry, .plot, and the .symbolic meta-plugin are implemented in RiX; the linear-algebra/optimization/affine-solve and exact 2D construction/plotting stacks cross no private JavaScript evaluator boundary
Tooling REPL/runner, IR converter, native .test.rix runner, structured diagnostics, source locations, trace/debug
Structured output typed Text, Paragraph, Heading, Fragment, Table, Grid, Graphic, Figure, Slide, Slides, and reactive ControlPanel values; intrinsic 2D scene primitives under .Graphics include DragPoint, while .Controls.Slider($$name, ...) performs exact identity-preserving updates; optional bundled .draw and .plot producers; .Renderer/.Render negotiation and SVG, Canvas-plan, TikZ, PNG, Markdown, HTML, Quarto, LaTeX, PDF, and glTF plugins; extension-driven CLI .Out text/binary export; @"..."/@"""...""" templates; exact synthetic division through .Algebra.SyntheticDivision
3D and higher dimensions optional .scene3d retained rix.scene3d@1 values with exact meshes, polylines, point clouds, transforms, perspective/orthographic cameras, and deterministic wireframe-to-Graphics snapshots; .nd exact affine/Cayley projection records and polytopes; browser-safe embedded-buffer glTF 2.0 export; runnable 4D tesseract example
Finite numeric acceleration Copy-owned binary32/binary64 Float tensors and bounded matrix multiplication remain approximate; exact sparse finite matrix products stay Rational. Canvas has bounded path caching, conservative dirty repaint and explicit OffscreenCanvas worker support; Plot has bounded downsampling, stream tails and exact heatmap aggregates.
RiXCel Structural editing with reference-aware undo, atomic cross-document workbooks, CSV/TSV/XLSX interchange and bounded virtual rank-N regions; imported formula text is inert unless explicitly activated under the host policy.
Embedding parser exports, evaluator/runtime exports, configurable system loader and system context
Exact symbolic core identity/expression/system specs, inert definitions and constraints, normalized symbol roles, substitution and composition, name-preserving arithmetic, attached pure-function specs, polynomial compilation, exact derivatives/integrals, explicit simplification, quote calculus syntax

Partial or intentionally bounded

Area Boundary
Symbolic work {# ... } represents multi-symbol systems. The core exact subset is complemented by opt-in Calculus/CAS rules, Numerics quadrature/refinement and Solve adapters. General solving, unrestricted simplification, global assumption/branch semantics and multivariate elimination remain separate follow-ups.
FractionFunction migration .fracfun remains the sole host-backed computational exact-algebra plugin because it clones and rewrites private symbolic IR, closure scopes, and source-domain restrictions. Its canonical projections already use pure-RiX .poly and .ratfun; migration waits for a versioned public symbolic-expression builder.
Mathematical systems and async Solve includes bounded multidimensional subdivision/feasibility consumers; multivariate elimination remains outside the supported scope. Async includes bounded lazy pull/streams, task snapshots, cancellation/cleanup, capability-safety metadata, structural task paths, a restricted pure CPU worker pool and Notebook async execution. Arbitrary host JavaScript cannot be forcibly preempted in-process; workers provide the termination boundary.
Real approximation certified radix/continued-fraction prefixes and three-state comparisons are in Core/RiX; optional Float, Oracle, Ball, Cauchy, continued-fraction, algebraic-real, and Numerics plugins provide backend-specific computation and bounded refinement.
Browser use the parser and evaluator are browser-safe. Browser hosts can preload RiX sources and explicitly trusted JavaScript modules with createBrowserHostAdapter; Node filesystem and module loading live behind the separate Node host adapter.
Packaging the standalone manifest is @ratmath/rix 0.1.0 and requires @ratmath/core ^0.6.0 for NumeralSystem. Publish Core 0.6.0 before standalone installation; the matched workspace can be used before publication. Paired local tarballs pass the isolated-consumer check. Its opt-in release gate covers the complete suite with coverage, native RiX tests, documentation, editor policy, package contents, and an isolated tarball install. Node.js 22+ and Bun 1.4+ share the runtime and CLI; package assets are prebuilt and checked for freshness. The 0.1 line is explicitly alpha and makes no compatibility commitment.
3D rendering Retained scenes, pure-RiX realization/projection, wireframe and flat-lit snapshots, adaptive parametric surfaces, Canvas/PNG lowering, interactive WebGL orbit/selection, and glTF JSON export exist. Bounded implicit cell covers, volume/slice views and ND sections retain unresolved regions and do not certify reconstructed topology. Textures, GLB/import and broader 3D interchange remain follow-up work. Static camera projection belongs to Scene3D rather than the 2D SVG/Canvas/TikZ renderers.

Documentation authority

When pages disagree, use this order:

  1. tests and current implementation;
  2. the generated runtime catalog;
  3. current user guides under eval/, tutorial/, and the complete introduction;
  4. parser and runtime design records;
  5. historical reports, early phase documents, scratch notes, and generated legacy HTML.

The build regenerates the runtime catalog from the implementation, which makes missing or renamed system capabilities visible in every documentation change.

Learn the delivered workflows

Start with the runnable capstones, then use the publication workflow, validated scene views, exact exploration, task workers, and workbooks guides for contracts and limits. Plugin tutorials remain the executable API examples; generated method catalogs describe the current runtime surface.

Back to top