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.