Jank is a new dialect of Clojure that operates directly on top of C++. Unlike other languages, it provides native C++ interoperability, allowing seamless integration with C++ features such as templates, virtual functions, exceptions, overload resolution, and RAII. This design eliminates the need for boilerplate code, enabling developers to include C++ headers and utilize C++ functionalities directly within their Clojure projects.
Jank supports interactive REPL-driven development, powered by a Clang-based C++ JIT compiler. This allows for dynamic compilation of C++ code during development. The dialect is a full Clojure implementation, but it replaces Java interoperability with C++ interoperability. It can include any C++ source, link to C or C++ libraries, and utilizes the C++ type system. Jank itself compiles down to C++.
Project management in Jank is based on Leiningen, a common tool in the Clojure ecosystem. It features a native build system that simplifies the inclusion of C and C++ dependencies. This system can locate installed native dependencies or build them from source, making dependency management straightforward with minimal configuration changes.
Jank aims to bring functional, immutable data structures and REPL-driven development to areas requiring high performance, such as game development. Its direct C++ interop means developers can access C++ performance whenever needed, without the overhead of bridges, function/type registration, marshalling, or callbacks. This direct integration allows for efficient use of C++ libraries and frameworks within a Clojure environment.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
Jank is a new Clojure dialect built on C++ that offers direct C++ interoperability, allowing Clojure code to interact with C++ features like templates, virtual functions, and RAII without boilerplate. This development provides Clojure developers with a way to integrate high-performance C++ components directly into their projects, expanding the language's application areas.