Dunaj v0.7.0 has been released, together with Dunaj lite. Also announcing dunaj.doc, an open source library that has been used to generate Dunaj’s documentation from Asciidoc sources.

  • Built on top of Clojure 1.7.0

  • Made more compatible with existing Clojure AOT code

  • Supports Boot (see respective pull request)

    • Boot has replaced Leningen internally to build Dunaj

  • Unified codebase between Dunaj and Dunaj lite, with the help of reader conditionals

    • Dunaj (non-lite) now matches :dunaj reader conditional feature

  • Small bugfixes


Dunaj v0.6.0 has been released. Dunaj lite has been updated too.

  • Built on top of Clojure 1.7.0 RC2

  • Various bugfixes

  • Added Base64 formatters, a wrapper for Java 8 Base64 codecs

  • Extensible run-time validator for function arguments and return values, utilizing Dunaj’s type signatures

  • Added support for autoconfiguration of systems. System components will have their fields automatically set up (including type casting and validation) from a configuration map (obtained e.g. by Crispin), based on mappings specified through IConfigurable protocol.

  • Dropping plan to support Java 7


2 New blog posts: Idiomatic Factory Pattern and Handling JSON Web Tokens in Dunaj


Dunaj v0.5.0 has been released. Dunaj lite has been updated too.

  • Built on Clojure 1.7.0 RC1

  • Various minor bugfixes

  • Changed semantics of qualified specials. The handling of special symbols is now backwards compatible with Clojure.

  • Changed argument order in dunaj.resource/format and dunaj.resource/transform

  • Reimplemented system dependency resolution in dunaj.resource/start!

  • Supports :let modifier in cond, when-let and if-let

  • Supports :when and :when-let modifiers in cond

  • Added support for optional else clause in cond

  • Supports vector as test in cond, treating it as an input to if-let


Blog post: Markov Text Generator

In this post I give a quick introduction on how Markov Chains are used to generate random sentences. Then I will walk through the implementation of a sentence generator in Dunaj and at the end I have prepared a small game, where you can guess the source novel for generated sentences.


Announcing Dunaj lite

Starting from the version 0.4.0, Dunaj now provides a library only version called Dunaj lite. The codebase is shared, and Dunaj lite supports nearly all of Dunaj’s functionalities. Dunaj lite is ideal for cases where you want to evaluate Dunaj in existing projects, or in cases you cannot or don’t want to use custom Clojure forks. See Dunaj lite homepage for more information. The main differences are:

  • more verbose and less elegant usage

  • small decrease of performance

  • no qualified special symbols

  • no changes to primitive types


Dunaj v0.4.0 has been released

This version is built on Clojure 1.7.0 beta1. Besides minor bugfixes, this release of Dunaj is notable for the introduction of Dunaj lite, a library only subset of Dunaj.


Blog post: Universal and Complement Sets

Dunaj is full of small useful features and improvements. One of such features is the introduction of universal and complement sets, an addition which enables the representation of identity elements in reduction functions that handle set items.


Dunaj v0.3.7 has been released

This release is not stable, is based on Clojure 1.7.0 SNAPSHOT and some changes in the API are expected.