Clojure 1.4發布 并發編程語言
Clojure是一種LISP風格的語言,運行在JVM上。Clojure的一大特色就是其并發機制,它支持不可變的數據結構(Clojure是來自于可持久化的數據結構)。Clojure還有一個特色是軟件事務存儲(Software Transactional Memory,STM),其支持用事務代替鎖和互斥器來更新共享內存。STM還是一個有爭議的技術,還需要更好的證明自己,一個簡單的辦法就是訪問一個JVM上的實現。
Clojure是一個在JVM平臺運行的動態函數式編程語言,其語法解決于LISP語言,在JVM平臺運行的時候,會被編譯為JVM的字節碼進行運算。而且Clojure保持了函數式語言的主要特點,例如immutable state,Full Lisp-style macro support,persistent data structures等等,并且還能夠非常方便的調用Java類庫的API,和Java類庫進行良好的整合。
Clojure 1.4 發布了,該版本主要改進內容有:
1 已過時和刪除的特性:
1.1 Fields that Start With a Dash Can No Longer Be Accessed Using Dot Syntax
2 新增和改進的特性:
2.1 Reader Literals
2.2 clojure.core/mapv
2.3 clojure.core/filterv
2.4 clojure.core/ex-info and clojure.core/ex-data
2.5 clojure.core/reduce-kv
2.6 clojure.core/contains? Improved
2.7 clojure.core/min and clojure.core/max prefer NaN
2.8 clojure.java.io/as-file and clojure.java.io/as-url Handle URL-Escaping Better
2.9 New Dot Syntax for Record and Type Field Access
2.10 Record Factory Methods Available Inside defrecord
2.11 assert-args Displays Namespace and Line Number on Errors
2.12 File and Line Number Added to Earmuff Dynamic Warning
2.13 require Can Take a :refer Option
2.14 *compiler-options* Var
2.15 Improved Reporting of Invalid Characters in Unicode String Literals
2.16 clojure.core/hash No Longer Relies on .hashCode
2.17 Java 7 Documentation
2.18 loadLibrary Loads Library Using System ClassLoader
2.19 Java int is boxed as java.lang.Integer
3 性能提升
4 Bug 修復
例如:
記錄和類型字段,以破折號開始不再使用點語法訪問
Clojure的1.4引入了一個字段的存取點的特殊形式,贊同ClojureScript的Clojure的領域查找語法語法。
- (defrecord Bar [-a]) ;=> user.Bar
- (.-a (Bar. 10)) ;=> 10
下載地址:http://repo1.maven.org/maven2/org/clojure/clojure/1.4.0/clojure-1.4.0.zip
【編輯推薦】