Project Status
An honest look at what works today, what we're building, and what's next.
Last updated: January 2025
✓ Complete
Lexer 100%
25+ tests passing
The lexer is fully implemented and production-ready.
- All 32 keywords recognized
- All operators and punctuation
- Integer, float, string, and char literals
- Binary, octal, and hex number formats
- Efficient 12-byte token representation
- Full Unicode identifier support
- Zero-copy design for performance
Parser 100%
30+ tests passing
The parser handles the complete Nova grammar.
- Functions with generics and where clauses
- Structs, enums, traits, and impl blocks
- All expression types (binary, unary, calls, etc.)
- Pattern matching with guards
- Control flow (if, match, while, for, loop)
- Error recovery with helpful diagnostics
- Type annotations on all bindings
Error Reporting 100%
Beautiful, helpful error messages using Ariadne.
- Source code snippets with line numbers
- Color-coded error highlighting
- Suggestions for common mistakes
- Multiple errors per file
⚡ In Progress
Type Checker ~20%
Type inference and checking are being implemented.
- Basic type resolution for primitives
- Function signature validation
Next: Generic type instantiation, trait resolution
Documentation ~60%
Learning materials and reference documentation.
- 7-lesson compiler construction course
- Syntax quick reference
- Architecture documentation
Next: API reference, more examples
◎ Planned
Code Generation ~5%
Targeting WebAssembly for cross-platform execution.
- Basic WASM module structure (done)
Planned: Function codegen, memory management, runtime
Verification System 0%
The core innovation: formal verification built into Nova.
- Preconditions and postconditions (
requires,ensures) - Invariants for structs and loops
- Proof obligations and discharge
- SMT solver integration
This is the long-term goal that makes Nova unique.
Standard Library 0%
Core types and utilities for Nova programs.
Interactive Playground 0%
Write Nova code in your browser. Requires working codegen.
Want to contribute?
Nova is open source and welcomes contributors at all levels. Check out our Contributing Guide or browse good first issues.
Nova is open source and welcomes contributors at all levels. Check out our Contributing Guide or browse good first issues.
Why be this honest?
Many language projects overpromise. We believe in transparency. The lexer and parser genuinely work. The type checker is coming. Verification is the long-term vision that makes this worth building.
Many language projects overpromise. We believe in transparency. The lexer and parser genuinely work. The type checker is coming. Verification is the long-term vision that makes this worth building.