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.
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.