Kalai

What Kalai is
Kalai is a free, open-source source-to-source transpiler for turning Clojure code into code in other languages. Its aim is to let developers maintain useful algorithms once and make them available in native form across target languages. The project README names Rust and Java and also mentions C++ among the targets. Kalai handles a subset of Clojure without adding syntax to the language: namespaces map to classes, functions to static functions, defs and lets to variables, and atoms to mutable data structures. At the top level, it accepts defn and def forms; executable forms such as println are rejected. Running it requires the Clojure command-line tool, which can invoke Kalai with source and output directories. The examples use Make, Gradle for Java output, and Rustup for Rust output. The project rationale describes using this approach to compile libraries such as SQL builders, internationalization algorithms, and data-diffing tools for multiple languages. The tradeoff is giving up the REPL and interactive development style in exchange for cross-language and cross-platform reach. The source is offered under the Eclipse Public License 2.0, with a possible Unicode License secondary license under stated conditions.
Who it suits
Kalai suits Clojure developers who want to make algorithms or libraries available in other languages, including Rust, Java, and C++. It is a fit for developers comfortable working within a supported subset of Clojure and using the Clojure command-line tool.
What it does well
- Free and open-source under the Eclipse Public License 2.0.
- Translates Clojure source to target-language source.
- Targets include Rust and Java, with C++ also referenced.
- Maps namespaces, functions, variables, and atoms into target structures.
- README welcomes pull requests and links to contribution guidance.
What to know first
- Supports only a subset of Clojure constructs.
- Rejects top-level forms other than defn and def.
- Requires the Clojure command-line tool to run.
- Gives up REPL and interactive development style.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Kalai | Open-source software · Clojure-to-target-language transpilation | Free |
As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Install the Clojure command-line tool.
- Prepare Clojure source using supported constructs and top-level defn or def forms.
- Invoke Kalai through the Clojure command-line tool with source and output directories.
- Use the project examples' toolchain as needed: Make, Gradle for Java output, or Rustup for Rust output.
Verdict
Choose Kalai if you want to translate supported Clojure code for use in other languages and can work through its command-line tool. Look elsewhere if your code depends on unsupported Clojure constructs or you need a REPL-centered workflow.
Questions
How much does Kalai cost?
The Kalai plan is free.
Is Kalai open source?
Yes. Its source is offered under the Eclipse Public License 2.0, with a possible Unicode License secondary license under stated conditions.
What languages can Kalai target?
The README lists Rust and Java, and also refers to C++ among its targets.
What do I need to run Kalai?
Running it requires the Clojure command-line tool. The README shows passing source and output directories.
Does Kalai translate all Clojure code?
No. It supports a subset of Clojure constructs and rejects top-level forms other than defn and def, including executable forms such as println.
Who maintains Kalai?
The repository identifies kalai-transpiler as the maintainer organization and credits the work to the Kalai Authors.
Facts from Kalai's own pages
- Code mappings
- Namespaces translate to classes, functions to static functions, defs and lets to variables, and atoms to mutable data structures. · github.com, 8 Oct 2026
- Contributor support
- The project README welcomes pull requests and links to contribution guidance. · github.com, 8 Oct 2026
- Cross-language libraries
- The rationale describes compiling libraries such as SQL builders, internationalization algorithms, and data diffing to multiple languages. · github.com, 8 Oct 2026
- Example toolchain
- The examples use Make, Gradle for Java output, and Rustup for Rust output. · github.com, 8 Oct 2026
- How to run
- The README shows invoking Kalai through the Clojure command-line tool with source and output directories. · github.com, 8 Oct 2026
- License
- The source code is offered under the Eclipse Public License 2.0, with a possible Unicode License secondary license under the stated conditions. · github.com, 8 Oct 2026
- Maker
- The repository identifies its maintainer organization as kalai-transpiler and credits the work to the Kalai Authors. · github.com, 8 Oct 2026
- Prerequisite
- Running Kalai requires the Clojure command-line tool. · github.com, 8 Oct 2026
- Purpose
- The project aims to let developers encode useful algorithms once and make them available natively in other target languages. · github.com, 8 Oct 2026
- Supported Clojure subset
- Kalai supports a subset of Clojure constructs and does not add new syntax to Clojure. · github.com, 8 Oct 2026
- Target languages
- The README lists Rust and Java as target languages and also refers to C++ among its targets. · github.com, 8 Oct 2026
- Top-level forms
- Kalai rejects top-level forms other than defn and def, including executable forms such as println. · github.com, 8 Oct 2026
- Tradeoff
- The project rationale says Kalai gives up REPL and interactive development style to gain cross-language and cross-platform reach. · github.com, 8 Oct 2026
- What it does
- Kalai is a source-to-source transpiler that converts Clojure code into other programming languages. · github.com, 8 Oct 2026
Where Kalai stands on Freedom251
- Code Transpilers#18 of 28