
After several months of development, a new version of Clojure language - 1.4.
Clojure is a general-purpose, Lisp-like programming language that runs on JVM and CLR platforms, known by special tools to simplify the development of concurrency code.
Among the changes worth noting:
- There were mapv, filterv (which returns vectors), reduce-kv (treats the vector as a collection of indexed pairs)
- require may use the keyword: refer. : refer can accept a set of characters from scope (namespace, ns) or: all to pull up all public variables, so now there is no need to describe all ns before this
- * compiler-options * you can disable the cleaning of local variables (locals), thereby improving the debugging experience
- = for char arguments, removed reflection warning and improved performance
- exceptions are no longer processed through RuntimeException, hence it is easier to catch the main exception.
- improved performance contains?
- clojure.core / hash no longer works based on .hashCode
- The extensible reader component is implemented, which allows parsing and serializing custom data types, with support for dates and UUIDs, without using Java.
A complete list of changes is available in the
repository .
The release is not very big, but important performance improvements have been made and they smoothly start running Java 7.
')
In parallel with the release, some interesting libraries that are part of Clojure Libraries have been updated:
Recall that Clojure / core is developed by a small team of developers led by the founder of the language
Rich Hickey (Rich talks
in detail about version 1.4), and the community is developing additional libraries that can gradually be included in the core or supplied in the libraries package.
PS: For those who have not yet noticed, recently,
Leiningen 2.0 preview3 has been updated, a patch for deploying Clojure projects.
PPS:
Speech by Rich Hickey on innovations in 1.4, with details on the extensible reader