Nova Roadmap
From experimental language to production-ready platform. Here's where we're headed.
The Vision
A programming language where AI generates code that proves itself correct. No runtime errors. No security vulnerabilities. Mathematical certainty that your code does what it says.
Development Timeline
Phase 1: Foundation
Language Foundation
Core infrastructure and design-
✓
Language Specification Core syntax, semantics, and type system design documented in FOUNDATION.md
-
✓
Project Structure Rust workspace with bootstrap compiler, documentation, and examples
-
✓
Documentation Site GitHub Pages with architecture docs, learn section, and brand assets
-
✓
Community Setup GitHub Issues, Discussions, Contributing guidelines, Code of Conduct
Phase 2: Core Compiler
Compiler Pipeline
Lexer, Parser, and basic code generation-
✓
Lexer with Logos Fast tokenization with comprehensive token types and span tracking
-
✓
Parser with Chumsky Recursive descent parser producing typed AST with error recovery
-
✓
Error Reporting with Ariadne Beautiful, context-rich error messages with source highlighting
-
✓
WebAssembly Codegen Basic WASM output using wasm-encoder for simple programs
Phase 3: Type System
Advanced Type System
Bidirectional checking, inference, and refinements-
✓
Basic Type Checking Primitive types, function types, and simple inference
-
→
Bidirectional Type Checking Synthesis and checking modes for better inference
-
Refinement Types Types with logical predicates:
{ x: Int | x > 0 } -
Dependent Types (Limited) Types that depend on values for array bounds, etc.
-
Algebraic Data Types Sum types, product types, pattern matching
Phase 4: Verification
Formal Verification
Contracts, SMT solving, and mathematical proofs-
Contract Syntax
requiresandensuresclauses for pre/postconditions -
Z3 Integration SMT solver for automatic verification of contracts
-
Loop Invariants Annotations for proving loop correctness
-
Capability System Tracked capabilities for I/O, network, filesystem access
-
Termination Checking Prove that functions terminate (no infinite loops)
Phase 5: Production Ready
Beta & Beyond
Tooling, ecosystem, and real-world usage-
Standard Library Core data structures, I/O, networking with verified implementations
-
Package Manager Dependency management with verification metadata
-
IDE Support Language server, VSCode extension, syntax highlighting
-
AI Code Generation Tooling for AI to generate verified Nova code
-
WASM Component Model Full support for WASM components and interface types
How Nova Solves Real Problems
Here's how each phase addresses the problems we discussed in Lesson 1:
🚫 No Runtime Errors
Phase 3 (Types) catches type mismatches. Phase 4 (Verification) proves division-by-zero, null access, and bounds checks are impossible.
🔒 Security by Design
Phase 4 (Capabilities) ensures code can only access what it's explicitly given. No hidden network calls or file access.
🤖 AI-Ready
Phase 5 (AI Tooling) provides infrastructure for AI to generate code that the compiler can verify is correct.
📜 Contracts as Code
Phase 4 (Contracts) lets you write specifications that are mathematically verified, not just tested.
Get Involved
Nova is open source and we're actively looking for contributors. Here's how you can help:
🐛 Report Issues
Found a bug or have a suggestion? Open an issue on GitHub.
💻 Contribute Code
Check out the "good first issue" label for beginner-friendly tasks.
📖 Improve Docs
Help make the documentation clearer and more comprehensive.
💬 Join Discussions
Share ideas and feedback in GitHub Discussions.
Want to Stay Updated?
Follow @dataxlr8r on Twitter for updates, or subscribe to BSKiller for deep dives on AI and programming languages.