clojure一些笔记】的更多相关文章

什么是Clojure Clojure是一种动态的.强类型的.寄居在JVM上的语言. Clojure的特性: 函数式编程基础,包括一套性能可以和典型可变数据结构媲美的持久性数据结构 由JVM提供的成熟的.高效的运行时环境:所以Clojure可以使用Java类库,反之Clojure库也可以被Java使用 跟JVM/Java的互操作能力使得很多架构.运维方面的需求可以得到满足:Clojure代码可以像Java代码一样被打包,然后部署到任何Java应用可以部署的地方 一套提供并发.并行语义的机制:Clo…
定义 “函数式编程”是一种编程范式(programming paradigm),即如何编写程序的方法论.主要思想是把运算过程尽量写成一系列嵌套的函数调用. 举例来说,现在有这样一个数学表达式: (1 + 2) * 3 - 4 传统的过程式编程,可能这样写: var a = 1 + 2; var b = a * 3; var c = b - 4; 函数式编程要求使用函数,我们可以把运算过程定义为不同的函数,然后写成下面这样: var result = subtract(multiply(add(1…
下载地址 需要安装xmind打开 http://pan.baidu.com/s/1dDxKj1B…
https://xumingming.sinaapp.com/302/clojure-functional-programming-for-the-jvm-clojure-tutorial/#introduction def > binding > let binding可以影响内部func…
目录 背景简述 第16章 Clojure与web 16.1 术语 16.2 Clojure栈 16.3 基石:Ring 16.3.1 请求与应答 16.3.2 适配函数 16.3.3 处理函数 16.3.4 中间件 16.4 用Compojure路由请求 16.5 使用模板 16.5.1 EnLive:基于选择器的HTML转换 16.6 最后的思考 背景简述 本人是一个自学一年Java的小菜鸡,理论上跟大多数新手的水平差不多,但我入职的新公司是要求转Clojure语言的.坊间传闻:通常情况下,最…
目录 背景简述 第13章 测试 13.1 术语 13.2 clojure.test 13.2.1 定义测试的两种方式 13.2.1.1 用deftest宏把测试定义成单独的函数 13.2.1.2 用with-test将测试与被测试函数绑定 13.2.2 测试"套件" 13.2.3 Fixtures 背景简述 本人是一个自学一年Java的小菜鸡,理论上跟大多数新手的水平差不多,但我入职的新公司是要求转Clojure语言的.坊间传闻:通常情况下,最好是有一定Java的开发工作经验,再转CL…
目录 背景简述 第5章 宏 5.0 术语 5.1 宏到底是什么 5.1.1 宏不是什么 5.1.2 有什么是宏能做而函数不能做的 5.1.3 宏vsRuby的eval 5.2 编写你的第一个宏 5.3 调试宏 5.3.1 宏扩展 5.4 语法 5.4.1 引述和语法引述 5.4.2 反引述与编接反引述 5.5 什么时候使用宏 5.6 宏卫生 5.6.1 Gensym来拯救 5.6.2 让宏的用户来选择名字 5.6.3 重复求值 5.7 宏的常见用法和模式 5.8 隐藏参数:&env和&fo…
目录 背景简述 第4章 多线程和并发 4.0 我的问题 4.1 术语 4.1.1 一个必须要先确定的思考基础 4.2 计算在时间和空间内的转换 4.2.1 delay 4.2.2 future 4.2.3 promise 4.3 简单地并行化 4.4 状态和标识 4.5 Clojure的引用类型 4.6 并发操作的分类 4.6.1 协调 4.6.2 同步 4.6.3 选用引用类型的标准 4.7 原子类型(Atom) 4.8 通知和约束 4.8.1 观察器 4.8.2 校验器 4.9 ref 4.…
目录 背景简述 第3章 集合类与数据结构 3.1 抽象优于实现 3.1.1 Collection 3.1.2 Sequence 3.1.3 Associative 3.1.4 Indexed 3.1.5 Stack 3.1.6 Set 3.1.7 Sorted 3.2 访问集合元素的简洁方式 3.2.1 习惯用法 3.2.2 集合.key以及高阶函数 3.3 数据结构的类型 3.3.1 List 3.3.2 vector 3.3.3 set 3.3.4 map 3.4 不可变性和持久性 3.4.…
目录 背景简述 第2章 函数式编程 背景简述 本人是一个自学一年Java的小菜鸡,理论上跟大多数新手的水平差不多,但我入职的新公司是要求转Clojure语言的.坊间传闻:通常情况下,最好是有一定Java的开发工作经验,再转CLojure可能容易一些.我入职后的实际经历也确实让我感受到了Clojure的自学难度略大于自学Java,遇到的困难主要与中文资料较少有关,具体为: 1 中文的面向新手的较为系统的教程材料较少,目前个人感觉最好用的还是<CLojure编程 Emerick著>这本书,网上应该…