Clojure程序设计

Clojure程序设计
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , ,
2013-04
版次: 1
ISBN: 9787115308474
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 255页
字数: 330千字
正文语种: 简体中文
原版书名: Programming Clojure,2nd E
40人买过
  •   《Clojure程序设计》是介绍Clojure编程语言和程序设计的经典之作。第2版针对Clojure1.3进行了全面的更新。全书共包括10章,分别介绍了Clojure概览和基本特性、序列和函数式编程、并发编程模型、协议和数据类型、宏、多重方法,以及Clojure对Java的调用。最后提供了一个完整了解Clojure应用开发全过程的实例。
      《Clojure程序设计》适合有不同语言背景而想要学习和了解Clojure编程的程序员阅读。函数式程序员、Java和C#程序员、Lisp程序员,以及Perl、Python和Ruby程序员,都能够通过阅读本书得到不同程度的收获。 Stuart Halloway Clojure/core成员、Relevance公司CTO。
    Aaron Bedra Clojure/core成员,在担任Relevance公司开发者期间,他成为一名技术领袖、演讲家和作家。他对Clojure语言及其支持库贡献颇多,同时也是Clojure社区中的活跃分子。Aaron牵头开发了一些商业的Clojure项目。目前他在Groupon工作。 第1章启航
    1.1为什么是Clojure
    1.1.1Clojure非常优雅
    1.1.2Clojure是Lisp的再度崛起
    1.1.3为什么是Lisp
    1.1.4它是Lisp,但括号少了
    1.1.5Clojure是函数式语言
    1.1.6Clojure简化了并发编程
    1.1.7Clojure与Java虚拟机彼此亲密无间
    1.2Clojure编程快速入门
    1.2.1使用REPL
    1.2.2特殊变量
    1.2.3添加共享状态
    1.3探索Clojure的程序库
    1.3.1require和use
    1.3.2查找文档
    1.4小结

    第2章探索Clojure
    2.1形式
    2.1.1使用数值类型
    2.1.2符号
    2.1.3字符串与字符
    2.1.4布尔值与nil
    2.1.5映射表、关键字和记录
    2.2读取器宏
    2.3函数
    2.3.1匿名函数
    2.3.2何时使用匿名函数
    2.4变量、绑定和命名空间
    2.4.1绑定
    2.4.2解构
    2.4.3命名空间
    2.5调用Java
    2.5.1访问构造函数、方法和字段
    2.5.2Javadoc
    2.6流程控制
    2.6.1分支结构与if
    2.6.2用do引入副作用
    2.6.3循环与loop/recur
    2.7我的for循环哪儿去了
    2.8元数据
    2.9小结

    第3章一切皆序列
    3.1一切皆序列
    3.2使用序列库
    3.2.1创建序列
    3.2.2过滤序列
    3.2.3序列谓词
    3.2.4序列转换
    3.3惰性和无限序列
    3.4Java亦可序化
    3.4.1序化Java容器
    3.4.2序化正则表达式
    3.4.3序化文件系统
    3.4.4序化流
    3.4.5序化XML
    3.5调用特定于结构的函数
    3.5.1列表函数
    3.5.2向量函数
    3.5.3映射表函数
    3.5.4集合函数
    3.6小结

    第4章函数式编程
    4.1函数式编程理念
    4.1.1纯函数
    4.1.2持久性数据结构
    4.1.3惰性和递归
    4.1.4引用透明性
    4.1.5FP的优势
    4.1.66条规则
    4.2怎样偷个懒
    4.2.1尾递归
    4.2.2自递归与recur
    4.2.3惰性序列
    4.2.4聊聊变现
    4.2.5丢弃头元素
    4.3懒上加懒
    4.4再议递归
    4.4.1转换为自递归
    4.4.2采用Trampolining技术
    4.4.3用惰性化替代递归
    4.4.4用快存为递归抄条近路
    4.5小结

    第5章状态
    5.1并发、并行和锁定
    5.2引用与软事务内存
    5.2.1ref-set
    5.2.2事务的属性
    5.2.3alter
    5.2.4STM的工作原理:MVCC
    5.2.5commute
    5.2.6alter优先
    5.2.7为引用添加验证
    5.3使用原子进行非协同、同步的更新
    5.4使用代理进行异步更新
    5.4.1代理的验证与错误处理
    5.4.2在事务中包含代理
    5.4.3统一的更新模型
    5.5用变量管理线程内状态
    5.5.1远距离作用
    5.5.2用于Java回调API
    5.6Clojure贪吃蛇
    5.6.1函数式模型
    5.6.2使用STM建立可变模型
    5.6.3贪吃蛇的GUI
    5.6.4没有引用的贪吃蛇
    5.7小结

    第6章协议和数据类型
    6.1针对抽象编程
    6.2接口
    6.3协议
    6.4数据类型
    6.5记录
    6.6具体化
    6.7小结

    第7章宏
    7.1何时使用宏
    7.2编写流程控制宏
    7.2.1特殊形式、设计模式和宏
    7.2.2宏展开
    7.2.3when与when-not
    7.3让宏更加简单
    7.3.1语法引述、解引述和解引述拼接
    7.3.2在宏内部创建名称
    7.4宏的分类
    7.4.1有条件的求值
    7.4.2创建变量
    7.4.3Java互操作
    7.4.4延迟求值
    7.4.5对求值进行包装
    7.4.6避免Lambda表达式
    7.5小结

    第8章多重方法
    8.1没有多重方法的日子
    8.2定义多重方法
    8.2.1调度是继承感知的
    8.2.2多重方法的默认值
    8.3调度不简单
    8.4创建特设分类法
    8.5何时应该使用多重方法
    8.5.1Inspector
    8.5.2clojure.test
    8.5.3反例
    8.6小结

    第9章极尽Java之所能
    9.1异常处理
    9.1.1保持简单的异常处理
    9.1.2清理资源
    9.1.3响应异常
    9.2与整数搏斗
    9.3性能优化
    9.3.1使用基本类型提升性能
    9.3.2添加类型提示
    9.4在Clojure中创建Java类
    9.4.1创建Java代理
    9.4.2使用Java容器
    9.5真实世界的例子
    9.5.1真正的持续循环
    9.5.2日志
    9.5.3配置
    9.6小结

    第10章搭建应用
    10.1为电码译员游戏计分
    10.2测试计分器
    10.2.1手工构造输入
    10.2.2运行测试
    10.2.3验证输出
    10.2.4回归测试
    10.3test.generative
    10.3.1生成数据
    10.3.2程序化验证
    10.3.3defspec
    10.3.4运行测试
    10.3.5规格执行失败时
    10.3.6计分函数的产生式测试
    10.4创建用户界面
    10.4.1该是时候处理状态了
    10.4.2玩家界面
    10.5部署代码
    10.5.1Procfile
    10.5.2Heroku库
    10.5.3Git
    10.5.4安置你的应用
    10.5.5部署
    10.6小结
    附录编辑器
    参考书目
  • 内容简介:
      《Clojure程序设计》是介绍Clojure编程语言和程序设计的经典之作。第2版针对Clojure1.3进行了全面的更新。全书共包括10章,分别介绍了Clojure概览和基本特性、序列和函数式编程、并发编程模型、协议和数据类型、宏、多重方法,以及Clojure对Java的调用。最后提供了一个完整了解Clojure应用开发全过程的实例。
      《Clojure程序设计》适合有不同语言背景而想要学习和了解Clojure编程的程序员阅读。函数式程序员、Java和C#程序员、Lisp程序员,以及Perl、Python和Ruby程序员,都能够通过阅读本书得到不同程度的收获。
  • 作者简介:
    Stuart Halloway Clojure/core成员、Relevance公司CTO。
    Aaron Bedra Clojure/core成员,在担任Relevance公司开发者期间,他成为一名技术领袖、演讲家和作家。他对Clojure语言及其支持库贡献颇多,同时也是Clojure社区中的活跃分子。Aaron牵头开发了一些商业的Clojure项目。目前他在Groupon工作。
  • 目录:
    第1章启航
    1.1为什么是Clojure
    1.1.1Clojure非常优雅
    1.1.2Clojure是Lisp的再度崛起
    1.1.3为什么是Lisp
    1.1.4它是Lisp,但括号少了
    1.1.5Clojure是函数式语言
    1.1.6Clojure简化了并发编程
    1.1.7Clojure与Java虚拟机彼此亲密无间
    1.2Clojure编程快速入门
    1.2.1使用REPL
    1.2.2特殊变量
    1.2.3添加共享状态
    1.3探索Clojure的程序库
    1.3.1require和use
    1.3.2查找文档
    1.4小结

    第2章探索Clojure
    2.1形式
    2.1.1使用数值类型
    2.1.2符号
    2.1.3字符串与字符
    2.1.4布尔值与nil
    2.1.5映射表、关键字和记录
    2.2读取器宏
    2.3函数
    2.3.1匿名函数
    2.3.2何时使用匿名函数
    2.4变量、绑定和命名空间
    2.4.1绑定
    2.4.2解构
    2.4.3命名空间
    2.5调用Java
    2.5.1访问构造函数、方法和字段
    2.5.2Javadoc
    2.6流程控制
    2.6.1分支结构与if
    2.6.2用do引入副作用
    2.6.3循环与loop/recur
    2.7我的for循环哪儿去了
    2.8元数据
    2.9小结

    第3章一切皆序列
    3.1一切皆序列
    3.2使用序列库
    3.2.1创建序列
    3.2.2过滤序列
    3.2.3序列谓词
    3.2.4序列转换
    3.3惰性和无限序列
    3.4Java亦可序化
    3.4.1序化Java容器
    3.4.2序化正则表达式
    3.4.3序化文件系统
    3.4.4序化流
    3.4.5序化XML
    3.5调用特定于结构的函数
    3.5.1列表函数
    3.5.2向量函数
    3.5.3映射表函数
    3.5.4集合函数
    3.6小结

    第4章函数式编程
    4.1函数式编程理念
    4.1.1纯函数
    4.1.2持久性数据结构
    4.1.3惰性和递归
    4.1.4引用透明性
    4.1.5FP的优势
    4.1.66条规则
    4.2怎样偷个懒
    4.2.1尾递归
    4.2.2自递归与recur
    4.2.3惰性序列
    4.2.4聊聊变现
    4.2.5丢弃头元素
    4.3懒上加懒
    4.4再议递归
    4.4.1转换为自递归
    4.4.2采用Trampolining技术
    4.4.3用惰性化替代递归
    4.4.4用快存为递归抄条近路
    4.5小结

    第5章状态
    5.1并发、并行和锁定
    5.2引用与软事务内存
    5.2.1ref-set
    5.2.2事务的属性
    5.2.3alter
    5.2.4STM的工作原理:MVCC
    5.2.5commute
    5.2.6alter优先
    5.2.7为引用添加验证
    5.3使用原子进行非协同、同步的更新
    5.4使用代理进行异步更新
    5.4.1代理的验证与错误处理
    5.4.2在事务中包含代理
    5.4.3统一的更新模型
    5.5用变量管理线程内状态
    5.5.1远距离作用
    5.5.2用于Java回调API
    5.6Clojure贪吃蛇
    5.6.1函数式模型
    5.6.2使用STM建立可变模型
    5.6.3贪吃蛇的GUI
    5.6.4没有引用的贪吃蛇
    5.7小结

    第6章协议和数据类型
    6.1针对抽象编程
    6.2接口
    6.3协议
    6.4数据类型
    6.5记录
    6.6具体化
    6.7小结

    第7章宏
    7.1何时使用宏
    7.2编写流程控制宏
    7.2.1特殊形式、设计模式和宏
    7.2.2宏展开
    7.2.3when与when-not
    7.3让宏更加简单
    7.3.1语法引述、解引述和解引述拼接
    7.3.2在宏内部创建名称
    7.4宏的分类
    7.4.1有条件的求值
    7.4.2创建变量
    7.4.3Java互操作
    7.4.4延迟求值
    7.4.5对求值进行包装
    7.4.6避免Lambda表达式
    7.5小结

    第8章多重方法
    8.1没有多重方法的日子
    8.2定义多重方法
    8.2.1调度是继承感知的
    8.2.2多重方法的默认值
    8.3调度不简单
    8.4创建特设分类法
    8.5何时应该使用多重方法
    8.5.1Inspector
    8.5.2clojure.test
    8.5.3反例
    8.6小结

    第9章极尽Java之所能
    9.1异常处理
    9.1.1保持简单的异常处理
    9.1.2清理资源
    9.1.3响应异常
    9.2与整数搏斗
    9.3性能优化
    9.3.1使用基本类型提升性能
    9.3.2添加类型提示
    9.4在Clojure中创建Java类
    9.4.1创建Java代理
    9.4.2使用Java容器
    9.5真实世界的例子
    9.5.1真正的持续循环
    9.5.2日志
    9.5.3配置
    9.6小结

    第10章搭建应用
    10.1为电码译员游戏计分
    10.2测试计分器
    10.2.1手工构造输入
    10.2.2运行测试
    10.2.3验证输出
    10.2.4回归测试
    10.3test.generative
    10.3.1生成数据
    10.3.2程序化验证
    10.3.3defspec
    10.3.4运行测试
    10.3.5规格执行失败时
    10.3.6计分函数的产生式测试
    10.4创建用户界面
    10.4.1该是时候处理状态了
    10.4.2玩家界面
    10.5部署代码
    10.5.1Procfile
    10.5.2Heroku库
    10.5.3Git
    10.5.4安置你的应用
    10.5.5部署
    10.6小结
    附录编辑器
    参考书目
查看详情
系列丛书 / 更多
Clojure程序设计
Haskell趣学指南
[斯洛文尼亚]Miran Lipovaca 著;李亚舟、宋方睿 译
Clojure程序设计
Go 语言程序设计
[英]Mark Summerfield 著;许式伟、吕桂华、徐立 译
Clojure程序设计
CoffeeScript程序设计
[美]Mark Bates 著;Goddy Zhao 译
Clojure程序设计
Erlang趣学指南
[加拿大]弗莱德·赫伯特(Fred Hébert) 著;邓辉、孙鸣 译
Clojure程序设计
Dart语言程序设计
[美]Chris Strom 著;韩国恺 译
相关图书 / 更多
您可能感兴趣 / 更多
Clojure程序设计
亚拉山大的读心术(数学大师的逻辑课) 伦理学、逻辑学 [美]雷蒙德·m.斯穆里安(raymondm.smullyan)
[美]雷蒙德·m.斯穆里安(raymondm.smullyan)
Clojure程序设计
纳博科夫精选集第五辑
[美]弗拉基米尔·纳博科夫著
Clojure程序设计
九桃盘(美国二十世纪重要女诗人玛丽安·摩尔诗歌精选集,由知名女诗人和女性诗学研究者倪志娟倾情翻译)
[美]玛丽安•摩尔
Clojure程序设计
全新正版图书 制造德·戴维尼浙江教育出版社9787572276880
[美]理查德·戴维尼
Clojure程序设计
血泪之泣
[美]希瑟·丘·麦克亚当
Clojure程序设计
小学生趣味心理学(培养执行技能的40个练习,发展共情能力的46个练习,学会应对焦虑的40个练习 共3册) (美)莎伦·格兰德 王佳妮译
[美]莎伦·格兰德(sharon grand)
Clojure程序设计
(当代学术棱镜译丛)艺术批评入门:历史、策略与声音
[美]克尔·休斯顿
Clojure程序设计
数据工程之道:设计和构建健壮的数据系统 [美]乔·里斯 [美]马特·豪斯利
[美]乔·里斯(Joe Reis),[美]马特·豪斯利(Matt Housley)
Clojure程序设计
矿王谷的黎明:塞拉俱乐部诉莫顿案与美国环境法的转变(精装典藏版)
[美]丹尼尔·P.塞尔米,(Daniel,P.Selmi)
Clojure程序设计
体式神话:瑜伽传统故事精粹(第二版) (从30个体式古老起源中汲取灵感与力量,内附精美插图)
[美]阿兰娜·凯瓦娅(Alanna Kaivalya)[荷]阿诸那·范德·库伊(Arjuna van der Kooij)
Clojure程序设计
诺奖作家给孩子的阅读课·生命教育(3-9年级,莫言余华的文学启蒙,垫高阅读起点,提升作文能力)
[美]海明威等
Clojure程序设计
蚯蚓的日记(全4册)【平装版】
[美]朵琳·克罗宁