Skip to main content
Systems language · formally verified

Joule.
Systems programming for the energy-aware era.

An energy-aware systems language where every operation is metered in picojoules and the core is formally verified. Write low-level code with energy as a number you can see, not a surprise you find on the power bill.

pJ metered per op
verified formally
no GC deterministic
joule · dot.jl ⚡ ~16 pJ / call
fn dot(a: &[f32], b: &[f32]) -> f32 {
let mut acc = 0.0; 2 pJ
for i in 0..a.len() {
acc += a[i] * b[i]; 14 pJ
}
acc
}
formally verified · every op metered

Every operation, metered in picojoules.

The language

Energy as a first-class type

Low-level control, with the energy model built into the compiler.

Picojoules per operation

Every operation is metered. The cost model is part of the language, so you see what a function spends before you ship it.

Formally verified

The core is proven, not just tested. Correctness and the energy model hold by construction.

Heterogeneous by default

Target CPU, GPU, and accelerators from one source, and route each kernel to the silicon that runs it for the fewest joules.

The discipline

Systems code, on a SWaP-2C budget

Systems software sets the floor for everything above it. Joule writes that floor to a SWaP-2C budget.

Size

Tight, predictable binaries with no heavy runtime.

Weight

No garbage collector, no hidden allocations on the hot path.

Power

Every operation metered in picojoules, visible at compile time.

Cost

Energy bugs caught before they reach the power bill.

Cooling

Fewer wasted cycles means less heat at the rack.

Write to the energy floor

joule-lang.dev →