Architecture Truth
Current Architecture Truth
This page is the short, current answer to “what is actually true right now?”
Concrete is no longer an experimental AST-to-backend compiler. The active pipeline is:
Source -> Parse -> Resolve -> Check -> Elab -> CoreCanonicalize -> CoreCheck -> ValidatedCore -> Mono -> Lower -> SSAVerify -> SSACleanup -> EmitSSA -> LLVM toolchain
What that means:
Coreis the semantic center of the compilerCoreCheckis the post-elaboration semantic authorityValidatedCoreis the proof-facing semantic boundarySSAis backend territory, not where language meaning should be re-decided- the LLVM emission path is now structured end to end
What Is Shipped
- a real
Core -> SSA -> LLVMcompiler pipeline - a real stdlib with collections, text, process, fs, net, and test coverage
- module-targeted stdlib testing
- diagnostics with snippets and carets
- a formatter baseline
- audit-style reports for capabilities, trust/unsafe boundaries, allocation, layout, interface, and monomorphization
What Is Active
Phase D is the active frontier.
That means the main work is:
- smarter testing infrastructure built on compiler artifacts and dependency information
- stronger SSA/backend contracts
- reusable pipeline artifacts
- the first real Lean 4 proof workflow for selected Concrete functions
What Is Planned
Concrete is explicitly trying to become:
- a low-level language optimized for auditability and explicit trust boundaries
- a compiler whose semantic boundary is clean enough for Lean 4 proofs of selected Concrete functions
- a language that can later grow a high-integrity profile for critical code
The Short Version
Concrete already has the shape of a serious compiler.
The remaining work is no longer “make it basically function.” It is:
- make the backend contract cleaner
- make testing smarter and faster
- make artifacts reusable
- make Lean-side proofs of selected Concrete code real