Jank Merges Clojure, C++, Rust in One Language

The developer Jay Wilson has resigned from his role as an engineer at Electronic Arts in order to fully focus on the creation of a new programming language called Jank. This language is a Native Clojure dialect based on LLVM, combining elements of C++, Clojure, and Rust.

The Jank project was initiated in 2015 when Wilson was studying programming language design while working on game engines. He aimed to merge the interactivity and value-oriented nature of Clojure with the potential of native compilation and minimal runtime costs. Unlike traditional Clojure that operates on JVM, Jank utilizes C++ and LLVM for JIT compilation.

Development and Community Interest

Wilson has stated that Jank has rapidly gained popularity among unpublished Clojure projects, only trailing behind Humbleui. He has engaged in discussions with founders and technical leaders from various companies interested in utilizing Jank to address performance, efficiency, and compatibility challenges of Clojure.

Analysts view the emergence of Jank as continuing the functional programming tradition, incorporating modern principles of LISP concepts. The language’s features include JIT compilation, garbage collection, dynamic typing, and an interactive development environment (Repl), making it a robust tool for developers.

Wilson has outlined key areas of focus for 2025, including enhanced error handling, seamless integration with C++, complete AOT compilation, compatibility with major Clojure libraries, NRepl server support, integration with Leingen and Deps.edn, distribution in main Linux and MacOS distributions, improved documentation, stability testing, and community development.

While not all tasks may be completed by 2025, Wilson aims to launch the first full release of the project.

Although initially designed for the gaming industry, Jank’s applications extend beyond game development. The language can be utilized in Unreal Engine, Unity, and Godot as a JIT-compiled LISP dialect with AOT compilation support.

Other potential applications of Jank include GUI development with QT, GTK+, WXWIDGETS, and IMGUI integration, scientific calculations such as data work at Cern, web service development, and creation of high-performance systems with native libraries.

Jank Philosophy and Name Origins

Wilson acknowledges that Jank was created for personal use, emphasizing the ability to control the level of code dynamism. Certain parts of a program can retain dynamic typing and utilize a garbage

/Reports, release notes, official announcements.