Clojure 1.8 with new string functions
Designer wrote Binary number image via Shutterstock
Version 1.8 of the Clojure Lisp dialect offers new string functions, as well as the possibility of direct linking, among other features.
Aside from 33 bug fixes and improvements in performance and error handling, Clojure 1.8 offers three significant new features in particular.
Several new string functions (index-of, last-index-of, starts-with?, ends-with? und includes?) are thus available in Clojure 1.8 which increase portability across other Clojure platforms like ClojureScript and should reduce the need for Java interop calling.
Moreover, direct linking can be activated with immediate effect using
Dclojure.compiler.direct-linking=true. With functions compiled in this manner, it is possible to execute direct static method calls to most other functions, while eliminating the route via vars and fn objects. At the expense of dynamic performance, further optimizations via just-in-time compilation are therefore possible.
Last but not least, Clojure Runtime now offers the possibility of starting a socket server based on system properties at initialization. According to one of the developers, an application of this feature that especially catches the eye is a socket-based REPL, yet the dynamic allocation of server functionality to existing programs without code changes is also potentially possible.
You can find an overview of all changes in version 1.8 on GitHub.
Unlike most programming languages for JVM, Clojure (as well as Frege) is fully functional. The Lisp dialect, in existence since 2007, is considered to be very dynamic and is used above all when creating concurrent code. Clojure’s functional working method is also used for the processing of large data volumes and in combination with microservice architectures.