This page lists future plans for Dunaj. Github pull requests are welcome, but all contributors must sign the Clojure CA.

Non goals

  • Improve starting time, smaller .jar builds - Due to backwards compatibility with Clojure, Dunaj does not aim to provide fast starting times or optimize the resulting size of a binary distribution.

Add tests

Currently, Dunaj contains no tests and no effort was made to support existing Clojure tests either. This is exclusively due to the lack of resources such as time. A facilities for generative testing should be added into Dunaj too.

Improve or add new features

  • Embrace reader conditionals

  • Support more hosts (Javascript, .NET, …​)

  • Support other OSs besides Linux

  • Check binary compatibility with Clojure

  • Type signatures support for CLJ pretty printer

  • Helpful error messages

  • More API presets (e.g. for unchecked or host int math)

  • Add more data formatters (parsers/printers), including binary codecs. (e.g. XML, Transit, Fressian)

  • Add more resource types, mainly for distributed queues, databases and network protocols.

  • Add new collection types, mainly AVL trees, Ctries, Bags and Multimaps

  • Review IDE-related metadata in vars (:indent, :highlight, etc.)

  • Additional features are planned for following namespaces: dunaj.boolean, dunaj.coll.rbt-sorted-map, dunaj.coll.rbt-sorted-set, dunaj.coll.recipe, dunaj.concurrent.port, dunaj.error, dunaj.math, dunaj.time, dunaj.type

  • Review the implementation of dunaj.coll.recipe

Documentation improvements