Quartz v5.25

Quartz Language Roadmap

Current: v5.12.37-alpha | 1964 tests (0 failures, 6 pending) | Feb 6, 2026

Status: Self-Hosted Primary | All Tests Passing | P1+P2+P3 Complete

Goal: Reduce pending tests from 15 to ~5 DONE (6 pending, all networking)

History: See docs/ROADMAP-ARCHIVE-v5.12.28.md for the complete development journey.


Current State

The Quartz compiler is self-hosted and feature-complete for most use cases:

  • Type System: Parameterized types (Vec<T>, HashMap<K,V>, Ptr<T>), traits, generics
  • UFCS: Method syntax on all collections (.push(), .size, [] indexing)
  • Macros: Hygienic macro system with $try, $unwrap, $assert, $debug
  • FFI: Full C interop with extern "C", @repr(C), @cImport
  • Concurrency: Threads, channels, mutexes, atomics, select, parallel intrinsics
  • Error Handling: Result/Option types, ? operator, world-class error messages
  • Type Inference: Struct field access infers parameter types from context

Priority Queue

P1: Type System Polish - COMPLETE

ItemDescriptionStatus
Generic enum inferenceOption::None infers from contextDONE
Trait impl validationVerify impl method signatures match traitDONE

P2: Deferred Bootstrap Items - COMPLETE

ItemFileNotes
Channel selectmir.c:2892DONE - Lowered to try_recv/try_send loop
@cImport function paramscimport.c:353DONE - Generates param nodes from C types

P3: Clear Pending Tests - COMPLETE

Goal: Get pending tests down to ~5 (networking-dependent only) - EXCEEDED

Progress: 22 → 7 pending (15 tests cleared)

CategoryCountDifficultyAction
Regex features2MediumDONE - Named captures, regex in match
@heap allocation2MediumDONE - @heap strings, automatic allocation test
C struct alignment1MediumDONE - field_offset<T>("field") intrinsic
gen_ffi headers4HardDONE - Struct/enum/typedef/macro support
Embedded nulls1HardDONE - cptr_to_string_with_len + as_int
Networking6DEFERBlocked on u8/u16 FFI types for sockaddr_in

P4: Stdlib Expansion (DEFERRED)

ModuleDescriptionStatus
datetimeDate/time operationsNot started
tcpTCP socket networkingNot started
httpHTTP clientNot started
csvCSV parsingNot started
yamlYAML parsingNot started
uuidUUID generationNot started

P5: Tooling (DEFERRED)

ToolDescriptionStatus
REPLInteractive read-eval-print loopNot started
LSPLanguage Server ProtocolNot started
Package registryPackage repositoryNot started
Formal specLanguage specificationNot started

Commands

# Full test suite (parallel)
bundle exec parallel_rspec spec/

# Run only pending tests to see what needs fixing
bundle exec rspec --tag pending

# Rebuild bootstrap compiler
make -C ../quartz-bootstrap

# Fixpoint validation
rake quartz:validate

Architecture

ComponentLocationPurpose
C Bootstrap../quartz-bootstrap/Emergency recovery compiler
Self-Hostedself-hosted/Primary development target
Stdlibstd/Standard library modules
Testsspec/RSpec integration tests

Rule: Only update C bootstrap when self-hosted source needs a feature bootstrap can’t compile.


Success Criteria

  1. 0 test failures - DONE
  2. ~5 pending tests - 15 → 6 pending (all networking)
  3. P1 + P2 + P3 complete - DONE

Version History

VersionDateMilestone
v5.12.37Feb 6, 2026Fix 7 pre-existing failures: @heap strings, field_offset alignment, regex in match, string escapes
v5.12.36Feb 6, 2026All non-networking tests pass: embedded nulls, automatic allocation
v5.12.35Feb 6, 2026P3 complete: gen_ffi macros, @heap strings, field_offset
v5.12.34Feb 6, 2026Regex complete: named captures, match expressions, ref.md docs
v5.12.33Feb 6, 2026P2 complete: channel select verified, @cImport params
v5.12.32Feb 6, 2026Channel select tests added (6 new tests)
v5.12.31Feb 6, 2026Vec index type checking, 18→17 pending
v5.12.30Feb 6, 2026Trait impl signature validation, 22→18 pending tests
v5.12.29Feb 6, 20260 failures! Struct field inference fix
v5.12.28Feb 6, 202656 test failures fixed (57→1)
v5.12.0Feb 4, 2026UFCS complete, dogfooding phase 2
v5.10.0Feb 3, 2026Self-hosted macros, transitive closure
v5.5.7Feb 2, 20260 failures, macro system complete
v5.0.0Jan 22, 2026Parallel iteration, pipeline operator
v1.0.0Jan 2, 2026Self-hosting fixpoint achieved

See docs/ROADMAP-ARCHIVE-v5.12.28.md for complete history.