Clojure 1.3 ist da!

Hartmut Schlosser

Nach mehreren Beta-Versionen und Release-Kandidaten ist es nun soweit: Die funktionale JVM-Sprache Clojure ist in Version 1.3 erschienen. Zahlreiche Neuerungen sind in den LISP-Dialekt für die Java-Plattform eingeflossen. Überarbeitet wurde u.a. der Support für primitive Typen und das Exception-Handling. Bessere Fehlermeldungen stehen beispielsweise bei ungültigen Map Literalen und in einer REPL zur Verfügung. Insgesamt zählen die Release Notes 34 neue und verbesserte Features auf:

  • 2.1 Enhanced Primitive Support ==
  • 2.2 defrecord and deftype Improvements ==
  • 2.3 Better Exception Reporting ==
  • 2.4 clojure.reflect/reflect ==
  • 2.5 clojure.data/diff ==
  • 2.6 clojure.core/every-pred and clojure.core/some-fn Combinators ==
  • 2.7 clojure.core/realized? ==
  • 2.8 clojure.core/with-redefs-fn & clojure.core/with-redefs ==
  • 2.9 clojure.core/find-keyword ==
  • 2.10 clojure.repl/pst ==
  • 2.11 clojure.pprint/print-table
  • 2.12 pprint respects *print-length* ==
  • 2.13 compilation and deployment via Maven ==
  • 2.14 internal keyword map uses weak refs ==
  • 2.15 ^:const defs ==
  • 2.16 Message Bearing Assert ==
  • 2.17 Error Checking for defmulti Options ==
  • 2.18 Removed Checked Exceptions ==
  • 2.19 vector-of Takes Multiple Args ==
  • 2.20 deref with timeout ==
  • 2.21 Walk Support for sorted-by Collections
  • 2.22 string.join Enhanced to Work with Sets ==
  • 2.23 clojure.test-helper ==
  • 2.24 Newline outputs platform-specific newline sequence ==
  • 2.25 init-proxy and update-proxy return proxy ==
  • 2.26 doc & find-doc moved to REPL ==
  • 2.27 clojure.java.shell/sh accepts as input anything that clojure.java.io/copy does
  • 2.28 Interrupt Handler Promoted to clojure.repl ==
  • 2.29 Add support for running -main namespaces from clojure.main
  • 2.30 Set thread names on agent thread pools ==
  • 2.31 Add docstring support to def ==
  • 2.32 Comp function returns identity when called with zero arity ==
  • 2.33 Type hints can be applied to arg vectors ==
  • 2.34 Binding Conveyance ==

Dazu kommen noch zahlreiche Bugfixes, als „Deprecated“ markierte Befehle und Performanz-Optimierungen, die das Clojure 1.3 Release zu einem lohnenden Update-Kandidaten machen.

Die vollständigen Release Notes beschreiben die Neuerungen im Detail. Clojure 1.3 steht auf der Projektseite zum Download bereit.

Für alle, die sich näher mit Clojure beschäftigen wollen, veröffentlichen wir heute auf JAXenter die lesenswerte Einführung „Clojure unter der Lupe“ von Burkhard Neppert aus dem Java Magazin 2.2011. Empfohlen sei außerdem der Einführungsartikel „Eine neue Programmiersprache? Bitte nicht schon wieder… Clojure – in der Praxis?“ von Stefan Tilkov und das Interview „Clojure – oder die Qual von zwei Jahrzehnten mit C++, Java und C#“ mit Clojure-Gründer Rich Hickey.

Und wer sich Clojure gerne einmal verbal erklären lassen möchte, sollte unbedingt einen Blick in die unten stehende JAX-Session mit Stefan Tilkov werfen:

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.