Clojure

Clojure

运行在JVM上的现代Lisp语言

开发官网

应用介绍

写 Java 写到一半,为了改一个函数要重新编译、重启整个服务;多线程共享一堆可变对象,锁加错一个就是半夜被叫起来查死锁。Clojure 是跑在 JVM 上的 Lisp 方言,默认所有数据都不可变,并发时不用再担心谁偷偷改了你的对象。

开发的时候开一个 REPL 连着正在运行的程序,改一个函数、求值一下就生效,不用重启。它能直接调用任何 Java 库,照样部署到现有的 JVM 服务器上;宏系统让你按需扩展语法。

软件功能



不可变数据:列表、向量、映射都是持久化结构,修改会得到新版本。

REPL 驱动:连着运行中的程序边改边试。

Java 互操作:直接调用 Java 类和已有的库。

并发原语:原子、代理、软件事务内存,避开手写锁。

代码即数据:宏系统可以扩展语言本身。

多平台:另有 ClojureScript 编译到 JavaScript。

应用截图