A small language · a serious runtime

Start simple.
Build forever.

Bring Hara to your terminal with Homebrew, or open the Playground and start experimenting right away. The same small language stays with you as your project grows.

Install Hara Homebrew · macOS and Linux
brew install hara-lang/tap/hara
9.37×vs Python · geometric mean across 8 prepared workloads
18.52×vs Babashka · geometric mean across 8 prepared workloads
1.44×vs SBCL · geometric mean across 8 prepared workloads
235,730Hoplite /hello req/s · one worker · loopback HTTP/1.1

Hara is Lisp

One shape. A great deal of range.

The operation comes first. Parentheses hold a computation, vectors hold ordered values, and maps name facts. That small reading model continues from the first expression into a complete program.

Learn to read Hara →

Build from first principles

Learn the parts beneath the frameworks.

Values, functions, decisions, state, events, rendering, and effects are easier to understand when each one is visible. Hara lets you meet them directly, then compose them into a real application.

01 · Learn

Start with durable concepts

Work with values, functions, persistent collections, explicit state, and host effects—not a temporary teaching notation.

02 · Inspect

Keep the running system close

Write a form, evaluate it, inspect the value, and change the program without turning every experiment into a rebuild.

03 · Build

Finish a complete program

Build Tic Tac Toe from a blank canvas, combining data, rules, state, pointer input, rendering, and a live frame loop.

Or watch the parts move first — this Pong rally is one small Hara program, evaluated live by the browser kernel when you press Run.

Build the first game →

The language you learn is the language you keep

Start live. Fit the runtime later.

The host can change without replacing the language or its values. Begin in the browser, then choose Java, native, or web deployment when the program needs it.

Kernel mode
Java

Work inside the JVM ecosystem.

Run with the Truffle runtime, integrate with Java classes and tools, and target Native Image when a self-contained deployment is useful.

Engine
Truffle AST / HBC4
Deployment
JVM or Native Image
Best for
Java systems and language tooling
Compare every runtime artifact →

Measured in the open

Fast is a result, not a tagline.

Hara publishes the code, environment, timing boundaries, raw samples, and expected checksums behind every reference result. The full table remains visible—including the runtimes that are faster.

01 · Equivalent work

Eight verified algorithms

Arrays, persistent data, recursion, backtracking, branching, range processing, and matrix work share expected results across runtimes.

02 · Honest timing

Preparation is not execution

Startup, preparation, first invocation, warm-up, and steady-state execution are recorded separately where the runtime supports them.

03 · Reproducible

Follow the evidence

Machine details, toolchain versions, source revisions, commands, raw samples, and checksums are committed alongside the report.

Inspect every result and method →

Try the language, not the pitch

Learn how programs work. Then build one.