Higher ideas
closer to the metal
A systems programming language
for a more composable world.
Safer abstractions.
Clearer systems.
Bigger ideas.
One language for the whole machine. From the phone in your pocket to the GPU on your desk, Nabla plans its memory, checks its numbers, proves what you ask, and writes every byte itself.
Nabla restricts what it lets you say where a restriction buys speed or clarity. What is left composes: the same rules hold on a CPU, a GPU, a phone and a server.
Arenas and pools are part of the language. Programs reserve what they need up front — no garbage collector, no storm of small allocations.
Before a name, ^ lends it; before a type, it views. Every call shows what it may change, with no lifetimes to spell out.
Overflow stops the program. Wrapping +% and saturating +| are spelled out, and integers divide exactly.
State laws next to the functions they describe. Nabla proves them, or tests them on a hundred inputs, and says which.
Shaders, compute kernels and ray tracing are Nabla functions, checked by the same compiler as the rest of the program.
No LLVM, no SDKs, no CUDA toolkit. One compiler writes the machine code, the shaders, the kernels and the packages.
Every program here was compiled and run by Nabla's compiler; the output beside it is what it printed.
Nabla's compiler writes machine code, GPU kernels and shaders directly, and packs them for each platform — down to an Android package and its signature.
The same program opens as a native window on a desktop, an app on a phone, a page in a browser, a world in a headset — and the same language serves it from the cloud.



Games, tools and renderers written in Nabla, captured from the programs themselves — nothing here is a mock-up.
Path traced viewportExact booleans, bevels, sculpting, snapping and units for CAD, STL and OBJ — and a path tracer in the viewport.
This mark was modelled in Blender, converted to an NMEDIA solid, and is turning in Nabla's viewer: metal and roughness, animation, skins.
Typeset equations, sliders, implicit curves and surfaces, complex functions and fractals, drawn with shaders written in Nabla.
Each frame every pixel follows one more path of light on the GPU's ray-tracing hardware, and the room clears as it is looked at.
The compiler writes NVIDIA's kernel formats itself — tensor-core tiles included — and the same kernels run on WebGPU in a browser.
AndroidVulkan, Metal or WebGPU underneath, with the platform's own sliders and button laid over it.
Virtual reality · QuestMade for Meta's Quest, through OpenXR reached by Nabla's own loader. Models made in Blender; on a desktop, the mouse aims.

Moved by plain Nabla loops over a fixed array and drawn in 2D, with live sliders.

Boxes, text, inputs and charts, laid out by Nabla on every platform.

Vertex and fragment shaders written in Nabla, compiled to WGSL, SPIR-V and Metal.
AndroidA text field is an EditText and a box a CheckBox. The compiler writes the APK and signs it.
Third-party dependencies in the compiler, from parsing to signed packages.
Instruction sets and GPU languages written directly: x64, arm64, Wasm, WGSL, SPIR-V, Metal, PTX, Tile IR and DEX.
Language features, each with a specification article.
Examples in the specification, checked against the compiler every time it is opened.
Lines of Nabla in eighteen programs: games, editors, renderers, servers and apps.
Blockland, path traced at 1920 × 1080 on an RTX 3080.
Code
shapes
reality
// simple ideas
// powerful systems
// built together
Nabla is in private preview. A public release — the compiler, the playground and the lessons — is on its way.