Clojure 1.4发布 并发编程语言

Mybaby0 2012-04-23

Clojure是一种LISP风格的语言,运行在JVM上。Clojure的一大特色就是其并发机制,它支持不可变的数据结构(Clojure是来自于可持久化的数据结构)。Clojure还有一个特色是软件事务存储(Software Transactional Memory,STM),其支持用事务代替锁和互斥器来更新共享内存。STM还是一个有争议的技术,还需要更好的证明自己,一个简单的办法就是访问一个JVM上的实现。

Clojure 1.4发布 并发编程语言

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的领域查找语法语法。

相关推荐