中国领先的IT技术网站
|
|

Clojure 1.4发布 并发编程语言

Clojure是一个在JVM平台运行的动态函数式编程语言,其语法解决于LISP语言,在JVM平台运行的时候,会被编译为JVM的字节码进行运算。而且Clojure保持了函数式语言的主要特点,例如immutable state,Full Lisp-style macro support,persistent data structures等等,并且还能够非常方便的调用Java类库的API,和Java类库进行良好的整合。

作者:倾枫来源:51CTO|2012-04-23 14:35

沙龙活动 | 去哪儿、陌陌、ThoughtWorks在自动化运维中的实践!10.28不见不散!


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

  1. (defrecord Bar [-a]) ;=> user.Bar  
  2. (.-a (Bar. 10)) ;=> 10 

下载地址:http://repo1.maven.org/maven2/org/clojure/clojure/1.4.0/clojure-1.4.0.zip

【编辑推荐】

  1. Clojure语言叫板Scala语言 我们不怕内存溢出
  2. Clojure编程语言 扩展你的Java想象力
  3. Scala和Clojure,以及优秀的企业级语言之道
【责任编辑:小林 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

精通ASP+XML+CSS网络开发混合编程

《精通ASP+XML+CSS网络开发混合编程》介绍当前网络开发的主流平台与技术之一的ASP+CSS+XML的知识与应用,全书各知识点均配以实例,按照基础...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python最火的编程语言