Clojure介绍

简介: Clojure介绍 Clojure是一个在Java虚拟机上运行的动态函数式编程语言,其语法源于Lisp语言,在Java虚拟机上运行时会编译成字节码,再运行。Clojure坚持函数式编程风格,简化了多线程编程。

Clojure介绍



Clojure是一个在Java虚拟机上运行的动态函数式编程语言,其语法源于Lisp语言,在Java虚拟机上运行时会编译成字节码,再运行。

Clojure坚持函数式编程风格,简化了多线程编程。Clojure坚持code-as-data编程哲学,自身带复杂的Lisp宏系统。

Clojure的作者是Rich Hickey。

Clojure类似于其它的Lisp,Clojure的语法建立在S-expressions,在编译前首先被读入器(Reader)解析成数据结构,Clojure的读入器支持字面语法如映射(map)、集合(set)以及矢量(vector)。除了列表(list),list语法将直接送出编译器。换句话说,Clojure编译器不编译list数据结构,其它的类型都支持。

Clojure是Lisp-1,与其它的Lisp变种并不完全兼容。

Clojure的语言特征:

1)用read-eval-print循环动态开发


2)提供丰富的数据结构集


3)通过software transactional memory 并行编程


4)Java兼容:Clojure可从Java库调用本地方法,Java程序能调用Clojure函数


5)Clojure是一个编译的语言,产生JVM字节码。
目录
相关文章
|
Web App开发 数据采集 自然语言处理
python脚本抢各大平台大额优惠卷
python脚本抢各大平台大额优惠卷
488 0
|
机器人 关系型数据库 MySQL
shell脚本实现文件自动清理并推送钉钉机器人告警
shell脚本实现文件自动清理并推送钉钉机器人告警
286 1
|
监控 NoSQL Java
后端接口性能优化分析-问题发现&问题定义(下)
后端接口性能优化分析-问题发现&问题定义
323 0
|
Docker 容器
轻松搞定Docker!教你一键删除所有镜像!
轻松搞定Docker!教你一键删除所有镜像!
|
分布式计算 Hadoop
Hadoop修改Hadoop配置文件
【4月更文挑战第18天】修改Hadoop配置文件步骤:1) 查找安装目录,如`/usr/local/hadoop`或`/opt/hadoop`;2) 进入`conf`或`etc/hadoop`;3) 编辑主要配置文件如`core-site.xml`, `hdfs-site.xml`, `mapred-site.xml`, `yarn-site.xml`;4) 根据需求修改配置项,如改默认文件系统为`hdfs://localhost:9000/`;5) 保存并退出。注意:修改前备份,确保配置正确,重启Hadoop集群使更改生效。
751 4
Hadoop修改Hadoop配置文件
|
安全 Linux 数据库
在Linux中,如何使用OpenVAS和Nessus进行漏洞扫描和管理?
在Linux中,如何使用OpenVAS和Nessus进行漏洞扫描和管理?
|
资源调度 分布式计算 Kubernetes
Flink最全的集群部署攻略(推荐yarn实现企业级部署)
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
11728 3
Flink最全的集群部署攻略(推荐yarn实现企业级部署)
|
存储 SQL 人工智能
从 CodeGemma 到 CodeQwen1.5:开源编程大模型百家争鸣
笔者最近刚刚试用完 CodeGemma ,准备分享我的心得时,通义千问的 CodeQwen1.5 就也悄然发布。本文主要介绍 CodeQwen1.5 这款开源编程大模型,并展示如何在 VSCode 中使用它帮你提升编程体验。
1749 0
从 CodeGemma 到 CodeQwen1.5:开源编程大模型百家争鸣
|
机器学习/深度学习 人工智能 算法
【机器学习】平均绝对误差 (MAE) 与均方误差 (MSE) 有什么区别?
【5月更文挑战第17天】【机器学习】平均绝对误差 (MAE) 与均方误差 (MSE) 有什么区别?
|
安全 数据挖掘 Java
C++ 完美转发深度解析:从入门到精通
C++ 完美转发深度解析:从入门到精通
936 1