jank (experimental)
Part of Dialects and runtimes.
Unlike ClojureDart and JVM Clojure, you start nothing: Jonquil launches a jank repl per window, on the first evaluation.
- A window picks jank for a
.jankfile, or when.jonquil.ednsays{:dialect :jank}. - Install jank with
brew install jank-lang/jank/jank, or setJONQUIL_JANKto a binary. Lookup order:JONQUIL_JANK,jankonPATH,/opt/homebrew/bin/jank,~/.local/bin/jank. With none, the first Run says so. - The status bar reads
jank (not running), thenjank (running).

How it runs
jank runs from a private temporary folder, so your project's .nrepl-port is never touched. The module path is <project>/src (or the project folder). For a loose file it's the root its ns implies, so a sibling namespace loads; if ns doesn't match the path, it's the file's folder. Closing the window removes the folder and stops jank.
- Run sends a
load-fileand moves the prompt to the file's namespace. Run Selection and Run Form use the buffer's namespace, and ask you to Run the file first if it isn't loaded. - Stop kills and restarts jank, since it has no interrupt; earlier definitions are gone.
- Reset on Run is on by default: a Run restarts jank first (except for the first request).
- For a loose
.jankfile, start with Run. If a REPL line or Run Selection starts jank first, it lacks the module path and a siblingrequirefails until a Run restarts it.
Quick documentation reads var metadata, and there are no docs while an evaluation runs ("No docs while jank is running."). Completion merges jank's names with the offline ones.
Limits
- Programs can't read input.
- Jump to definition works only inside the buffer, and there's no inspector.
- You can't attach to a jank you started yourself.
- Output appears only when the evaluation ends, and a Stopped evaluation never shows its output. Watch for "Running..." before pressing Stop.
(loop [] (recur))and arecurafter awhenfail withcodegen/internal-failure. Put everyrecurin anifbranch:(loop [i 0] (if (< i n) (recur (inc i)) i)).
More in Known limits.
This page is docs/guide/dialects/jank.md in the Jonquil repository.