Clojure 1.4发布 并发编程语言

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

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,以及优秀的企业级语言之道
责任编辑:林师授 来源: 51CTO
相关推荐

2013-03-04 09:30:38

ClojureJVM

2014-03-26 14:19:00

ClojureJVM

2012-02-13 09:57:51

JavaDisruptor

2012-05-10 10:18:14

JavaDisruptor

2010-01-15 15:10:09

jQuery 1.4

2021-10-27 14:20:00

CrystalRuby编程语言

2011-11-02 17:08:48

OpenBSD发布

2012-03-15 16:46:02

JavaMyBatis

2009-06-21 13:37:53

2009-02-25 09:35:12

LinuxBASH 4.0OS X v10.4

2009-09-27 13:41:55

Eclipse 3.5

2019-09-19 09:44:07

编程语言JavaJDK

2012-11-14 09:31:13

CloudStackIaaSCitrix

2011-02-24 09:36:33

LibreOffice

2011-12-21 08:58:23

Java

2011-06-07 10:07:06

LibreOffice

2011-08-02 09:15:49

LibreOffice

2012-03-15 09:57:59

JavaDynamicRepo

2011-10-28 14:23:46

Ruby

2014-05-23 10:22:07

Dart SDKDart
点赞
收藏

51CTO技术栈公众号