ecc00fed8a
Adds a priority-ordered, checkbox-format roadmap that the orchestrator maintains. Three states (`[ ]` open / `[~]` in progress / `[x]` done), four kinds (milestone / feature / todo / idea), four priorities (P0..P3). Initial population lifts the queued items from the JOURNAL tail. JOURNAL's role narrows: chronological decisions log only, no forward queue. CLAUDE.md "Roles of ..." section updated to reflect the split.
5.0 KiB
5.0 KiB
AILang Roadmap
Priority-ordered list of upcoming work — milestones, features, todos, and ideas. The orchestrator maintains this file. The user can request additions; the orchestrator chooses what to remove or reprioritise as work progresses.
Conventions
- One checkbox per entry.
- [ ]is open;- [~]is in progress (work has started — a plan exists, a branch is open, or commits are landing);- [x]is done. A finished entry may stay briefly for context, then is removed (with a one-line mirror indocs/JOURNAL.md). - Each entry is tagged by kind and lives under a priority
bucket:
- [milestone] — big chunk that will get a
docs/specs/<milestone>.md. - [feature] — smaller addition inside a milestone, no full spec.
- [todo] — concrete task that can run without a brainstorm (cleanup, doc fix, mechanical refactor, test backfill).
- [idea] — not yet decision-ready, no commitment.
- [milestone] — big chunk that will get a
- Optional
depends on:line names another entry that has to land first. - Optional
context:line points to the JOURNAL entry where the rationale lives. The roadmap is intentionally terse; rationale stays in JOURNAL. - Priority buckets:
- P0 — in flight. Spec or plan already exists.
- P1 — next up. Decision made; not yet started.
- P2 — medium-term. Decided in principle, scheduled later.
- P3 — ideas. No commitment; may be cut.
P0 — In flight
- [~] [milestone] design-md-consolidation —
docs/DESIGN.mdbecomes a state-only specification across four thematic sweeps (history anchors out, migration plans out, schema-SoT inversion + data-model hardening, workflow / cross-reference cleanup).- context:
docs/specs/2026-05-10-design-md-consolidation.md - sub-entries:
- [~] Sweep 1 — remove history anchors
(
docs/plans/2026-05-10-design-md-consolidation-1-history-anchors.md; tasks 1-3 of 6 landed) - Sweep 2 — REVERTED + migration plans out
- Sweep 3 — schema SoT inversion + data-model hardening
- Sweep 4 — workflow / cross-reference cleanup
- [~] Sweep 1 — remove history anchors
(
- context:
P1 — Next
- [milestone] Post-22 Prelude — ship
Show/Eq/Ordwith the four primitive instances (Int, Bool, Str, Float); rewireprintthroughShow.show. Originally queued as 22b.4 in the typeclass milestone, kept on hold pending demand.- context: JOURNAL 2026-05-09 ("JOURNAL queue")
- depends on: design-md-consolidation (touches DESIGN.md schema sections that the consolidation will reshape)
P2 — Medium-term
- [feature] Operator routing through
Eq/Ord—==,<etc. resolved via the typeclass instead of the built-in primitive comparators. No commitment; gated on bench re-baselining to make sure the indirection doesn't tank latency.- context: JOURNAL 2026-05-09
- depends on: Post-22 Prelude
- [todo]
types/ctor_indexoverlay shape question — decide whether the env's two parallel ctor maps should collapse into one overlay, or stay split. Surfaced during the env-construction unify audit.- context: JOURNAL 2026-05-10 ("Audit close: env-construction unify")
- [feature] 22c — typeclass corpus expansion. User-defined
classes beyond the prelude four; multi-parameter classes; superclass
chains; richer instance bodies. Deferred from milestone 22.
- context: JOURNAL 2026-05-09
- [todo] Boehm full retirement — remove the transitional
Boehm GC path now that RC + uniqueness is the canonical memory
story.
- context: JOURNAL pre-22, "Boehm transitional"
- [feature] Closure-pair slab / pool — codegen tweak to pool the env+code closure pairs instead of one-shot heap allocs. Bench-gated.
- [todo]
FnDef::syntheticflag — formalise the monomorphiser-emitted FnDefs so downstream passes can tell user-authored from synthesised at a glance. Currently inferred from symbol naming. - [todo] 21'h iteration — final 21' carry-over (latency methodology pass). Numbering kept for continuity with the 21' arc.
P3 — Ideas
- [idea] Latency methodology rework — switch from per-run timing to a histogram-based approach so tail-latency regressions are visible without re-running. Queued from 21'g.
- [idea] Parser-test backfill for 22b.4a-era duplicate-clause
sites (class × 3, class method × 2, instance × 3, instance method
× 1). No regression pin today; only worth it if a 22b.4a-era
diagnostic needs to change.
- context: JOURNAL 2026-05-10 ("Iteration 22-tidy.7")
- [idea]
write_typeType::Forallarm incrates/ailang-prose/src/lib.rssilently drops constraints in inline-type rendering. Dormant — surface forms today only carry forall at fn-signature top level. Fix only if a future feature carries forall + constraints inline.- context: JOURNAL 2026-05-10 ("Iteration 22-tidy.6")
- [idea] Richer integration paths between RC and uniqueness — deferred from the 21' arc; revisit once the uniqueness inference covers more program shapes.