Docs/Project

Project

Roadmap

Execution status and a clear map of RFC Accepted vs implemented.

Aura is spec-first: RFCs lock design; the compiler and runtime land vertical slices. This page is a user-facing map. The living engineering plan remains docs/roadmap.md in the repo.

How to read status

LabelMeaning
RFC AcceptedDesign decision is locked for implementers
Shipped (MVP)Usable via aura CLI + corpus in this monorepo
PartialImportant pieces landed; not feature-complete vs RFC
Deferred / limitedAccepted on paper; little or no user-facing runtime yet

Accepted ≠ fully implemented. Always verify with corpus + CLI.

RFC Accepted vs implemented

RFCTitleRFC statusIn code (approx.)Notes
000Vision & design principlesAcceptedShipped (docs)Product north star
001Language specificationAcceptedPartial → broad MVPThrough C13t: classes, packages, lambdas + Fun/var String captures, String tools; async/macros not full
002Type systemAcceptedPartialNull flow, generics, bounds, Result, fun types; deeper rules ongoing
003Memory & concurrencyAcceptedPartialGC mark/sweep + class heap; tasks/channels limited
004Compiler architectureAcceptedPartialRust toolchain + C backend default; LLVM later
005Package managerAcceptedPartialPath deps + C13 registry K1 offline (index/semver/fetch/lock); no live HTTPS / publish
006RuntimeAcceptedPartialaura_rt.c, GC, exceptions, String Array free, file I/O, Fun env RC, argv/stdin/exit
007Standard libraryAcceptedPartialstd.io (+ eprint/tryWriteFile) / assert / Map·Set·HashMap·HashMapStr + HOF + Int.toString / case
008Build systemAcceptedPartialaura.toml package build/run/test
009Reflection / metadataAcceptedDeferred / limitedNot a day-one teach path
010Plugins / macrosAcceptedDeferred / limitedNot required for hello
011Testing frameworkAcceptedPartialaura test + @test MVP
012CLIAcceptedPartialnew / init / version / check / build / run / test / emit-c; -- args pass-through (C12c)
013Binary distributionAcceptedPartialv0.1.0-alpha tarballs + install.sh / avm; no Windows matrix, signing, or self-update

Compiler milestone band

Public README and repo docs/roadmap.md track C0 → C13t batch closed (dogfood, Fun/var String captures, registry K1 offline).

BandUser-visible outcome
C0–C1Parse, typecheck, native hello via C backend
C1b–C2Classes, interfaces, generics, null flow
C3Structs, enums, tests, packages, arrays, imports, GC MVP
C4–C5GC refinements, std.io/assert, more Array/String APIs, diagnostics polish
C6–C7Deep GC mark/sweep, Iterable, Map/Set, Int?/Bool?, Array field ownership
C8–C9Generic iface/class mono, nested Array, HashMap(+resize), String+/interp, is
C10First-class funs/lambdas (expr/block), fun types, val captures MVP, Int HOF
C11a–efile I/O, Fun env free, aura new, substring, notes dogfood, install/embed runtime, 0.1 freeze
C12a–tDone: argv/stdin/exit, String tools, class·Array·var captures, HashMapStr, HOF str, tryReadFile, examples/wc, guide, install DX
C13a–tDone: method-on-temp, Int.toString, String array free, Fun/var String capture, registry K1 offline, eprint/tryWrite, signing note

Shipped: tag v0.1.0-alpha + multi-OS tarballs (release notes); C12 + C13 batches closed.

Next: live registry HTTPS + nested deps; generic HashMap (C13p spike); fix Io.args strdup; residual debts.

Exact bullet lists live in the root README and repo docs/roadmap.md.

Near-term product shape

  1. Keep check / build / run / test solid on packages
  2. Grow stdlib and package ergonomics (generic collections, richer String)
  3. Deepen closures / GC while C backend stays useful
  4. Move toward LLVM without abandoning shippable binaries
  5. Keep user docs aligned when features become teachable
All docs pages