Skip to content
HARA
>_

Getting started

Install the hara CLI

Linux (x86_64) and macOS (arm64, x86_64):

curl -fsSL https://raw.githubusercontent.com/hoebat/hara.lang/main/scripts/install.sh | sh

This installs the native hara binary to ~/.local/bin — no JVM required. Override the location with HARA_INSTALL_DIR, pin a specific release with HARA_VERSION=v0.1.0.

The sections below build the Java/Truffle runtime from source instead.

1. Install prerequisites

Install JDK 21 and Maven, then verify:

java -version
mvn -version

2. Build the Truffle runtime

mvn -Ptruffle package

This produces target/hara-truffle.jar.

3. Evaluate a form

./hara eval '(let [x 19] (+ x 23))'

Expected result:

42

4. Start the REPL

./hara

# ROOT REPL without a RESP listener
./hara --offline

The REPL opens with large alien-abduction Hara art, a clear-to-blue-to-black gradient, the Journey Within tagline, and a spaced command menu. It supports multiline forms, persistent history, cursor-level slash and symbol completion, inline documentation, and RESP listener control through /resp. The left prompt shows only the current namespace; the header identifies session ROOT, and the right prompt shows live listener status. See User guide and REPL specification.

5. Run a file or stdin

./hara run lib/examples/hello.hal
cat lib/examples/hello.hal | ./hara stdin

6. Run tests

mvn -q test
mvn -q -Ptruffle -Dtest=hara.truffle.HaraL0ConformanceTest test

For contributor workflows, test slices, native-image builds, and troubleshooting, read the developer guide. To build a multi-file project, continue with Namespaces and modules.