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