NABLA
Private preview →
  • Nabla
  • Programming
  • Language
  • Express
  • Structure
  • Build
  • What lasts

Higher ideas
closer to the metal

  • Logic
  • Computation
  • People
  • A brighter
  • tomorrow
Programming language
  • Type.
  • Transform.
  • Compose.
  • Reason.
  • Repeat.

A systems programming language
for a more composable world.

Safer abstractions.
Clearer systems.
Bigger ideas.

  • Patterns for
  • a more composable world.
See what it builds → Why Nabla Private preview · 2026

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.

Nativex64 · arm64
WebWasm · WebGPU
GPUPTX · Tile IR · SPIR-V · Metal
DependenciesNone
01 — Why Nabla

Fewer ideas, held firmly.

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.

01
mem

Memory you can see

Arenas and pools are part of the language. Programs reserve what they need up front — no garbage collector, no storm of small allocations.

02
^

One symbol to borrow

Before a name, ^ lends it; before a type, it views. Every call shows what it may change, with no lifetimes to spell out.

03
+|

Numbers that tell the truth

Overflow stops the program. Wrapping +% and saturating +| are spelled out, and integers divide exactly.

04
∀

Proofs beside the code

State laws next to the functions they describe. Nabla proves them, or tests them on a hundred inputs, and says which.

05
<kernel>

CPU to GPU, one language

Shaders, compute kernels and ray tracing are Nabla functions, checked by the same compiler as the rest of the program.

06
0

Zero dependencies

No LLVM, no SDKs, no CUDA toolkit. One compiler writes the machine code, the shaders, the kernels and the packages.

02 — Language

Read it once. It says what it does.

Every program here was compiled and run by Nabla's compiler; the output beside it is what it printed.

main.nablaNabla

          
Terminal

        
03 — The compiler

One compiler. Every byte.

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.

LLVMNot needed
CUDA toolkitNot needed
Android NDKNot needed
GradleNot needed
Platform SDKsNot needed
PackagesNot needed
04 — Platforms

Write it once. Run it everywhere you are.

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.

Blockland running natively on Windows
Blockland running on Android
Pocket, a to-do app made of Android's own views
05 — Built with Nabla

Real programs. Real screenshots.

Games, tools and renderers written in Nabla, captured from the programs themselves — nothing here is a mock-up.

A river valley in Blockland, ray traced A river in Blockland, ray traced Blockland's title screen
Ray traced · Windows
Blockland

An endless world of blocks, written in Nabla.

Mine and build in streamed terrain with villages, animals and monsters, crafting, weather, days and nights — lit by ray tracing on RTX hardware.

Forge, a 3D modeller, with a path-traced scenePath traced viewport
Forge

A 3D modeller in the manner of Blender.

Exact booleans, bevels, sculpting, snapping and units for CAD, STL and OBJ — and a path tracer in the viewport.

4,945 linesMesh core package
Viewer · glTF → NMEDIA
Viewer

Solids, lit as their materials ask.

This mark was modelled in Blender, converted to an NMEDIA solid, and is turning in Nabla's viewer: metal and roughness, animation, skins.

A Mandelbulb, ray marched on the GPU, in Orbifold Domain colouring of a complex function in Orbifold Surfaces and a sphere in 3D in Orbifold Polar curves with a slider in Orbifold Conics and an inequality in Orbifold Waves with sliders in Orbifold
Mandelbulb · ray marched
Orbifold

A graphing calculator, in 2D and 3D.

Typeset equations, sliders, implicit curves and surfaces, complex functions and fractals, drawn with shaders written in Nabla.

6,877 linesWindows · macOS · Android · Web
A path-traced room after 3 paths a pixel After 8 paths a pixel After 32 paths a pixel After 128 paths a pixel After 512 paths a pixel
3 paths a pixel
Rays

A path tracer in 244 lines.

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 Mandelbrot set computed by a GPU kernel 8192 bodies under gravity, computed by GPU kernels
A thread for each pixel · 2.8 ms
GPGPU

Kernels in Nabla, as PTX and Tile IR.

The compiler writes NVIDIA's kernel formats itself — tensor-core tiles included — and the same kernels run on WebGPU in a browser.

Aurora on Android: northern lights drawn by a shaderAndroid
Aurora

Northern lights, as a shader.

Vulkan, Metal or WebGPU underneath, with the platform's own sliders and button laid over it.

Range: a shooting range in virtual realityVirtual reality · Quest
Range

A shooting range in virtual reality.

Made for Meta's Quest, through OpenXR reached by Nabla's own loader. Models made in Blender; on a desktop, the mouse aims.

Six thousand particles drawn every frame
Particles

Thousands of points, every frame.

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

A dashboard interface written in Nabla
Interfaces

Elements are part of the language.

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

144 cubes drawn in one instanced draw
Cubes

One instanced draw.

Vertex and fragment shaders written in Nabla, compiled to WGSL, SPIR-V and Metal.

Pocket, a to-do list made of Android's own viewsAndroid
Android

Native views, no Android tools.

A text field is an EditText and a box a CheckBox. The compiler writes the APK and signs it.

AgentA coding agent in a window, for the folders you trust it with.
EditorA modal text editor with a file browser and Git diffs, in a terminal.
Placer · TossAugmented reality on phones; grab-and-throw in a headset.
VisitsA public site on a Linux server, shipped with nabla deploy.
ChatA local server whose page is itself a Nabla program.
PlayerVideo and sound from NMEDIA files, with seeking.
BubblesA game whose every sound the program synthesizes.
SketchDrawing with a finger, on Android's own canvas.
06 — By the numbers

Small rules. Large results.

0

Third-party dependencies in the compiler, from parsing to signed packages.

0

Instruction sets and GPU languages written directly: x64, arm64, Wasm, WGSL, SPIR-V, Metal, PTX, Tile IR and DEX.

0

Language features, each with a specification article.

0

Examples in the specification, checked against the compiler every time it is opened.

0

Lines of Nabla in eighteen programs: games, editors, renderers, servers and apps.

0fps

Blockland, path traced at 1920 × 1080 on an RTX 3080.

Code
shapes
reality

  • Nabla
  • Programming
  • Language

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

From ideas
to invariants
Beauty in
structure
Power in
composition