Dunaj /ˈdunaɪ/ is a set of core language experiments aimed to improve Clojure language and its core API. Dunaj is an effort to bring Clojure even more towards simplicity, consistency and performance.

Dunaj API is intended to be used by regular Clojure developers, either for application or library development. Bootstrapping, implementation details and other low level stuff are left in clojure.core and still accessible for the brave ones.

Dunaj is not a library, but rather a fork of Clojure, as changes to the Clojure itself were required. The changes to Clojure are hovewer minimal and most of Dunaj is implemented as a separate library. A dedicated project called Dunaj lite provides a library-only subset of Dunaj, that can be used with ordinary Clojure. The set of features provided by Dunaj lite is nearly identical to ones offered by Dunaj.

Dunaj integrates well with Clojure. Most of existing Clojure libraries and tools can be used from Dunaj without any changes. Dunaj provides a comprehensive documentation including design notes, specification and documentation for its API and SPI. Dunaj has been worked on since 2013 and consists of more than 40k lines of code. It provides 1500 public functions, macros and vars in more than 90 namespaces. Moreover, more than a hundred public protocols are used to define virtually every extensible functionality in Dunaj.

Dunaj implementation is open source. It aims to be fast and stable enough to be used in a real world projects. See Getting Started page on how to include Dunaj in your project.

Dunaj was created by Jozef Wagner, a researcher, software engineer and a Clojure contributor. Dunaj project, including this website, is a free and open-source software, released under same license as Clojure. It is currently hosted on GitHub. Patches, pull requests and user contributions are welcomed (see future plans), but all contributors must sign the Clojure CA.


Copyright © 2013, 2015, Jozef Wagner. All rights reserved.

Additional copyright for parts of documentation and/or underlying implementation: Copyright © 2008, 2015, Rich Hickey and Clojure contributors.

The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.