v0.4.1 · “Bare Metal” Native VM Win · Linux · macOS

Pseudocode that
actually runs.

X++ is an intent-driven language by Aagastya Verma / Atom Software. Write strict pseudocode — or loose English steps for the AI mode — type one command, and it booms. The ease of Python, the speed of native code, zero dependencies.

1.9×
faster than CPython on hot loops (ZITR)
7.6×
faster still with ZJIT native AOT
0
dependencies in the native VM (C++17)
1
command to install & run
RNM=ZITR

fn fib(n):
  if n <= 1:
    return n
  end
  return fib(n-1) + fib(n-2)
end

loop i from 0 to 10:
  out i, fib(i)
end
x run fib.xp
0 0
1 1
2 1
3 2
4 3
5 5
6 8
7 13
8 21
9 34
10 55
Why X++

Everything easy. Nothing missing.

X++ was designed around one idea: if you can write the steps in a notebook, you can run them. No types to annotate, no pointers, no build files, no manual memory management.

Ease of Python

Pseudocode syntax with automatic garbage collection. Write the code, type x run app.xp, done.

fn / if / loop / out / push

Speed of native code

ZITR is a fast NaN-boxed stack VM; ZJIT compiles your .xp straight through C++ to machine code.

fib(28) in 10 ms · sum 1..5M in 50 ms

Runs everywhere

The VM and native backend are pure C++17 and build on Windows, Linux and macOS. Same .xbc bytecode runs anywhere.

g++ / clang · no runtime deps

One-command setup

setup.bat / ./setup.sh installs everything by itself — Python, a compiler, the VM, the x command, even the X++ file icon.

download → unpack → setup → boom

An AI intent mode

RNM=ITR hands your loose English steps to an LLM (via OpenRouter) and compiles them into a runnable program.

write intent, not syntax

safe / fail built in

Real exception handling in pseudocode clothing — plus closures, deep recursion to 20,000+ frames and short-circuit and / or.

29-test golden regression suite
Engines

Six ways to run the same code

Pick an engine with a single header line — or let x auto-detect it. The language never changes; only the machine underneath does.

HeaderEngineWhat it isNeeds
RNM=ZITRNative fast VM (default)NaN-boxed stack VM running .xbc bytecodexppvm (auto-built)
RNM=ZCOMStrict bytecode AOT.xp → .xbc, verifiable & disassemblablexppvm
RNM=ZJITNative AOT backend.xp → C++ → machine code. Runs fastestxppvm + system C++ compiler
RNM=XCOMLegacy strict AOT.xp → Python bytecode (v0.3, kept)Python
RNM=XITRLegacy fast VMPython exec code-object cache (v0.3, kept)Python
RNM=ITRAI intent compilerLLM translates English steps → executableOpenRouter key
Benchmarks

Native speed, pseudocode soul

Measured on Linux x86-64, CPython 3.11, g++ 12.2 — run them yourself with --bench. Lower is better.

sum 1 … 5,000,000 bench/sum_loop.xp
XITR (CPython)
381 ms
ZITR (VM)
202 ms
ZJIT (native AOT)
50 ms
fib(28), recursive bench/fib_rec.xp
XITR (CPython)
55 ms
ZITR (VM)
91 ms
ZJIT (native AOT)
10 ms

ZJIT times are native execution only — the first build takes ~1 s and is cached (rebuilt only when the source changes). A register-based JIT is on the roadmap to close the last gap to hand-written C.

Get started

Download → unpack → setup → boom

The setup script installs everything by itself: Python (only if missing), g++/clang, the native VM, the x command on PATH, and the X++ file logo in your OS.

:: download the repo zip, unpack it, then double-click setup.bat
:: …or from a terminal:
setup.bat

:: write your first program
echo out "hello world" > hello.xp
x run hello.xp
git clone https://github.com/aagastyaverma6-sys/XPP.git
cd XPP
./setup.sh

echo 'out "hello world"' > hello.xp
x run hello.xp
git clone https://github.com/aagastyaverma6-sys/XPP.git
cd XPP
./setup.sh

echo 'out "hello world"' > hello.xp
x run hello.xp
Optional AI mode (RNM=ITR) needs an OpenRouter key: export OPENROUTER_API_KEY=… then x run ai_demo.xp --mode ITR.
Ecosystem

More than a language

VS Code extension

Syntax highlighting, an X++ file icon theme, and a one-click Code Runner button — wired up automatically by setup.

Xite editor

A bundled beginner-friendly editor (Xite.exe) for writing and running X++ without touching a terminal.

Portable .xbc bytecode

Compile once with x compile app.xp --emit-xbc app.xbc, disassemble it, and run the same file on any OS.

Ready to write pseudocode
that ships?

Try X++ right now in your browser — no install, no account. The same strict pseudocode runs on the native VM when you download it.