TL;DR
Jank is a new Clojure dialect that targets LLVM and offers direct interoperation with C++. The project is in alpha, with documentation available and an active repository showing ongoing compiler and runtime work.
What happened
Jank, an experimental language that blends Clojure’s interactive, functional style with a native LLVM host and C++ interoperability, has reached an alpha stage. The project's repository contains language documentation (the "jank book"), code examples that demonstrate immutable core data structures, REPL-style interactions, and explicit C++ interop via a cpp namespace. The codebase is active: recent commits and file changes reference compiler and runtime work, C++ code-generation efforts, an initial nREPL server, and adjustments to LLVM tooling. The public GitHub repository lists thousands of stars, over a hundred forks, active issue and pull request trackers, a set of named sponsors, and a multi-contributor team. The project is distributed under the MPL-2.0 license and highlights its goal of strong compatibility with Clojure while delivering native performance and a C++ host environment rather than the JVM.
Why it matters
- Provides a path for Clojure-style programming without the JVM by targeting LLVM.
- Direct C++ interop could make native libraries and system-level APIs more accessible to Clojure users.
- Immutable, persistent data structures and REPL-driven workflow aim to preserve the Clojure developer experience.
- An LLVM host may enable lower-level performance characteristics compared with JVM-hosted Clojure.
Key facts
- Jank is described as a Clojure dialect hosted on LLVM with C++ interop.
- The project is currently in alpha.
- Documentation is available via the project's "jank book."
- Built-in data structures are persistent and immutable by default; side effects are possible and shown in examples.
- C++ interoperability is shown in examples using a cpp namespace (e.g., std::chrono and this_thread).
- Repository metrics shown: ~3k stars and ~114 forks on GitHub.
- Repository shows active development: issues (105) and pull requests (11) listed in the source snapshot.
- The codebase is licensed under MPL-2.0.
- Sponsors and named backers are listed on the project page.
What to watch next
- Progress on compiler and runtime fixes referenced in the repository (labeled as remaining alpha fixes).
- C++ code-generation work noted as a work-in-progress in multiple commits and modules.
- Development of tooling such as the nREPL server and other integration pieces mentioned in the repo.
Quick glossary
- Clojure: A modern, functional dialect of Lisp known for immutable data structures and a REPL-driven workflow.
- LLVM: A collection of modular and reusable compiler and toolchain technologies used to build native code.
- Interop: Short for interoperability; the ability for code in one language to call into or use features of another language.
- Persistent immutable data structures: Data structures that preserve previous versions when modified, enabling functional programming patterns without destructive updates.
- REPL: Read–Eval–Print Loop, an interactive programming environment that evaluates user-entered expressions immediately.
Reader FAQ
What is jank?
A Clojure dialect hosted on LLVM that aims for strong compatibility with Clojure and seamless C++ interop.
Is jank ready for production use?
No — the project is described as being in alpha.
Where can I read documentation or examples?
The project refers to a "jank book" as its documentation; the repository also contains code examples.
Does jank run on the JVM?
Jank's host is LLVM; Clojure's default host is the JVM — jank targets LLVM rather than the JVM.
What is jank? Most simply, jank is a Clojure dialect on LLVM with C++ interop. Less simply, jank is a general-purpose programming language which embraces the interactive, functional, value-oriented nature…
Sources
- Jank Lang Hit Alpha
- jank programming language – Clojure/LLVM/C++
- The Jank Language: LLVM Hosted Clojure
- The jank programming language
Related posts
- Apple TV to stream A24 film Eternity with Elizabeth Olsen, arriving Feb
- The rsync Algorithm (1996) — PDF Listing and Availability Notes
- TinyTinyTPU: 2×2 systolic-array TPU-style matrix-multiply unit on Basys3