Currently in Bootstrap Stage

Code That Proves Itself

A programming language designed for the AI age. Every program either proves itself correct or doesn't compile. No runtime errors. No security vulnerabilities. No ambiguity.

Why Nova?

Current languages were designed for humans to write and machines to execute. Nova is designed for AI to write and machines to verify.

Today's Reality

Runtime errors crash production systems unexpectedly

Nova's Vision

Errors are impossible by construction

Today's Reality

Security vulnerabilities everywhere

Nova's Vision

Capabilities prevent unauthorized access

Today's Reality

10x abstraction overhead in modern languages

Nova's Vision

Direct hardware mapping for maximum efficiency

Today's Reality

AI generates buggy, unverified code

Nova's Vision

AI generates mathematically verified code

Core Principles

Five irreducible principles that guide every design decision.

Correctness First

Every program either proves itself correct or doesn't compile. No exceptions.

🔒

Capability-Based

Code can only access what it's explicitly given. No ambient authority, no hidden permissions.

🤖

AI-Native

Optimized for LLMs to generate: minimal syntax, zero ambiguity, maximum verifiability.

🚀

Self-Hosting

The compiler is written in Nova. We eat our own dogfood from day one.

🌐

Radically Open

Everything is open source: the spec, the compiler, the tools, the governance.

Zero Runtime

No garbage collector, no runtime. Direct compilation to WebAssembly and native code.

See Nova in Action

The compiler proves these properties at compile time. If the implementation doesn't satisfy them, it won't compile.

sort.nova
// A function that sorts a list
// The compiler PROVES these properties:
//   - Output has same length as input
//   - Output is sorted
//   - Output is a permutation of input

fn sort(input: Vec<i32>) -> Vec<i32>
where
    ensures output.len() == input.len(),
    ensures output.is_sorted(),
    ensures output.is_permutation_of(input),
{
    // Implementation here
    // If it doesn't satisfy the properties,
    // it won't compile
}

How It Works

From source to verified WebAssembly in four steps.

1

Write Nova Code

Express your intent with clear syntax and explicit contracts.

2

Compiler Verifies

The type system proves your code satisfies all contracts.

3

Generate IR

Verified code is lowered to efficient intermediate representation.

4

Emit WASM

Output compact, fast WebAssembly that runs anywhere.

Join the Movement

Nova is open source and community-driven. Help us build the language of the AI age.

Star on GitHub Contribute