并发编程语言,clojure 1.4 发布
fmms 13年前
<p><a href="/misc/goto?guid=4958183920711387805" target="_blank">Clojure</a>是一种LISP风格的语言,运行在JVM上。Clojure的一大特色就是其并发机制,它支持不可变的数据结构(Clojure是来自于可持久化的数据结构)。Clojure还有一个特色是<strong>软件事务存储</strong>(Software Transactional Memory,STM),其支持用事务代替锁和互斥器来更新共享内存。STM还是一个有争议的技术,还需要更好的证明自己,一个简单的办法就是访问一个JVM上的实现。</p> <p>Clojure 1.4 发布了,该版本主要改进内容有:</p> <p><strong>1 废弃和被删除的特性:</strong></p> <div> 1.1 Fields that Start With a Dash Can No Longer Be Accessed Using Dot Syntax </div> <p><strong>2 新增和改进的特性:</strong></p> <div> 2.1 Reader Literals </div> <div> 2.2 clojure.core/mapv </div> <div> 2.3 clojure.core/filterv </div> <div> 2.4 clojure.core/ex-info and clojure.core/ex-data </div> <div> 2.5 clojure.core/reduce-kv </div> <div> 2.6 clojure.core/contains? Improved </div> <div> 2.7 clojure.core/min and clojure.core/max prefer NaN </div> <div> 2.8 clojure.java.io/as-file and clojure.java.io/as-url Handle URL-Escaping Better </div> <div> 2.9 New Dot Syntax for Record and Type Field Access </div> <div> 2.10 Record Factory Methods Available Inside defrecord </div> <div> 2.11 assert-args Displays Namespace and Line Number on Errors </div> <div> 2.12 File and Line Number Added to Earmuff Dynamic Warning </div> <div> 2.13 require Can Take a :refer Option </div> <div> 2.14 *compiler-options* Var </div> <div> 2.15 Improved Reporting of Invalid Characters in Unicode String Literals </div> <div> 2.16 clojure.core/hash No Longer Relies on .hashCode </div> <div> 2.17 Java 7 Documentation </div> <div> 2.18 loadLibrary Loads Library Using System ClassLoader </div> <div> 2.19 Java int is boxed as java.lang.Integer </div> <p><strong>3 性能提升</strong> <br /> <strong>4 Bug 修复</strong></p>