Skip to content

Roadmap

Versioning

Features use status labels rather than version numbers:

  • Proposed — Designed, not yet built.
  • Exploring — Idea stage, no commitment.

Two milestones frame the overall project:

  • V1.0 — Fully featured Python compiler. All language features implemented, comprehensive standard library, complete tooling. The reference implementation.
  • V2.0 — Self-hosted compiler written in Prove, compiled by the V1.0 bootstrap.

V1.0 ships when the language is mature. V2.0 planning begins after.


Proposed


Exploring

The items below build toward Prove's vision of local, self-contained development — where the project's own declarations drive code generation without external services.

Binary AST Format

Store .prv files as a compact binary AST instead of human-readable text. The prove CLI provides views and the LSP decodes on the fly. Web scrapers and training pipelines see binary blobs, not parseable source code.

Semantic Normalization

Canonicalize all code before storage. Variable names, declaration ordering, whitespace, and stylistic choices are normalized away. A name map is stored alongside the canonical AST. The LSP reconstructs human-readable code on demand.

Fragmented Source

Distribute a function's complete definition across multiple files — implementation, explanations, intent declarations, near-miss examples, and narrative. All files are required to compile. No single artifact is useful in isolation.

Identity-Bound Compilation

Source files carry a cryptographic signature chain. The compiler verifies authorship. Scraped code with stripped signatures won't compile.

Project-Specific Grammars

Each project can define syntactic extensions via prove.toml. Two Prove projects may look completely different at the surface level, destroying the statistical regularities that AI training depends on.

Semantic Commit Verification

The compiler diffs the previous version, reads the commit message, and verifies the change actually addresses the described bug. Vague messages like "fix stuff" don't compile.

Self-Hosted Compiler (V2.0)

Rewrite the compiler in Prove. The V1.0 Python bootstrap compiles it, the resulting binary recompiles itself, and both outputs must match.


Ecosystem

Project Description
tree-sitter-prove Tree-sitter grammar for editor syntax highlighting
pygments-prove Pygments lexer for MkDocs and Sphinx code rendering
chroma-lexer-prove Chroma lexer for Gitea and Hugo code rendering

The scripts/export-lexers.py script keeps all three lexer projects in sync with the compiler's canonical keyword lists automatically.