基本信息
书名:实用Common Lisp编程(第16届Jolt生产效率大奖得主)
原价:89.00
售价:57.7,为你节省31.3
折扣:64折
作者:(美) 塞贝尔 著,田春 译
出版社:人民邮电出版社
出版日期:2011-10-1
ISBN(咨询特价)
字数:(咨询特价)
页码:417
版次:1
装帧:平装
开本:16开
编辑推荐
http://picimg.lshou.com/pic/shop59438727/t/server/
内容提要
http://picimg.lshou.com/pic/shop59438727/t/server/
《实用Common Lisp编程》是一本不同寻常的CommonLisp入门书。《实用CommonLisp编程》首先从作者的学习经过及语言历史出发,随后用21个章节讲述了各种基础知识,主要包括:REPL及CommonLisp的各种实现、S-表达式、函数与变量、标准宏与自定义宏、数字与字符以及字符串、集合与向量、列表处理、文件与文件I/O处理、类、FORMAT格式、符号与包,等等。而接下来的9个章节则翔实地介绍了几个有代表性的实例,其中包含如何构建垃圾过滤器、解析二进制文件、构建ID3解析器,以及如何编写一个完整的MP3Web应用程序等内容。最后还对一些未介绍内容加以延伸。
《实用Common Lisp编程》内容适合Common Lisp初学者及对之感兴趣的相关人士。
目录
http://picimg.lshou.com/pic/shop59438727/t/server/
第1章 绪言:为什么是Lisp
1.1 为什么是Lisp
1.2 Lisp的诞生
1.3 本书面向的读者
第2章 周而复始:REPL简介
2.1 选择一个Lisp实现
2.2 安装和运行Lisp in a Box
2.3 放开思想:交互式编程
2.4 体验REPL
2.5 Lisp风格的“Hello, World”
2.6 保存工作成果
第3章 实践:简单的数据库
3.1 CD和记录
3.2 录入CD
3.3 查看数据库的内容
3.4 改进用户交互
3.5 保存和加载数据库
3.6 查询数据库
3.7 更新已有的记录——WHERE再战江湖
3.8 消除重复,获益良多
3.9 总结
第4章 语法和语义
4.1 括号里都可以有什么
4.2 打开黑箱
4.3 S-表达式
4.4 作为Lisp形式的S-表达式
4.5 函数调用
4.6 特殊操作符
4.7 宏
4.8 真、假和等价
4.9 格式化Lisp代码
第5章 函数
5.1 定义新函数
5.2 函数形参列表
5.3 可选形参
5.4 剩余形参
5.5 关键字形参
5.6 混合不同的形参类型
5.7 函数返回值
5.8 作为数据的函数——高阶函数
5.9 匿名函数
第6章 变量
6.1 变量的基础知识
6.2 词法变量和闭包
6.3 动态变量
6.4 常量
6.5 赋值
6.6 广义赋值
6.7 其他修改位置的方式
第7章 宏:标准控制构造
7.1 WHEN和UNLESS
7.2 COND
7.3 AND、OR和NOT
7.4 循环
7.5 DOLIST和DOTIMES
7.6 DO
7.7 强大的LOOP
第8章 如何自定义宏
8.1 Mac的故事:只是一个故事
8.2 宏展开期和运行期
8.3 DEFMACRO
8.4 示例宏:do-primes
8.5 宏形参
8.6 生成展开式
8.7 堵住漏洞
8.8 用于编写宏的宏
8.9 超越简单宏
第9章 实践:建立单测试框架
9.1 两个最初的尝试
9.2 重构
9.3 修复返回值
9.4 更好的结果输出
9.5 抽象诞生
9.6 测试层次体系
9.7 总结
第10章 数字、字符和字符串
10.1 数字
10.2 字面数值
10.3 初等数学
10.4 数值比较
10.5 高等数学
10.6 字符
10.7 字符比较
10.8 字符串
10.9 字符串比较
第11章 集合
11.1 向量
11.2 向量的子类型
11.3 作为序列的向量
11.4 序列迭代函数
11.5 高阶函数变体
11.6 整个序列上的操作
11.7 排序与合并
11.8 子序列操作
11.9 序列谓词
11.10 序列映射函数
11.11 哈希表
11.12 哈希表迭代
第12章 LISP名字的由来:列表处理
12.1 “没有列表”
12.2 函数式编程和列表
12.3 “破坏性”操作
12.4 组合回收性函数和共享结构
12.5 列表处理函数
12.6 映射
12.7 其他结构
第13章 超越列表:点对单的其他用法
13.1 树
13.2 集合
13.3 查询表:alist和plist
13.4 DESTRUCTURING-BIND
第14章 文件和文件I/O
14.1 读取文件数据
14.2 读取二进制数据
14.3 批量读取
14.4 文件输出
14.5 关闭文件
14.6 文件名
14.7 路径名如何表示文件名
14.8 构造新路径名
14.9 目录名的两种表示方法
14.10 与文件系统交互
14.11 其他I/O类型
第15章 实践:可移植路径名库
15.1 API
15.2 *FEATURES*和读取期条件化
15.3 列目录
15.4 测试文件的存在
15.5 遍历目录树
第16章 重新审视面向对象:广义函数
16.1 广义函数和类
16.2 广义函数和方法
16.3 DEFGENERIC
16.4 DEFMETHOD
16.5 方法组合
16.6 标准方法组合
16.7 其他方法组合
16.8 多重方法
16.9 未完待续
第17章 重新审视面向对象:类
17.1 DEFCLASS
17.2 槽描述符
17.3 对象初始化
17.4 访问函数
17.5 WITH-SLOTS和WITHACCESSORS
17.6 分配在类上的槽
17.7 槽和继承
17.8 多重继承
17.9 好的面向对象设计
第18章 一些FORMAT秘诀
18.1 FORMAT函数
18.2 FORMAT指令
18.3 基本格式化
18.4 字符和整数指令
18.5 浮点指令
18.6 英语指令
18.7 条件格式化
18.8 迭代
18.9 跳,跳,跳
18.10 还有更多
第19章 超越异常处理:状况和再启动
19.1 Lisp的处理方式
19.2 状况
19.3 状况处理器
19.4 再启动
19.5 提供多个再启动
19.6 状况的其他用法
第20章 特殊操作符
20.1 控制求值
20.2 维护词法环境
20.3 局部控制流
20.4 从栈上回退
20.5 多值
20.6 EVAL-WHEN
20.7 其他特殊操作符
第21章 编写大型程序:包和符号
21.1 读取器是如何使用包的
21.2 包和符号相关的术语
21.3 三个标准包
21.4 定义你自己的包
21.5 打包可重用的库
21.6 导入单独的名字
21.7 打包技巧
21.8 包的各种疑难杂症
第22章 高阶LOOP
22.1 LOOP的组成部分
22.2 迭代控制
22.3 计数型循环
22.4 循环集合和包
22.5 等价@然后迭代
22.6 局部变量
22.7 解构变量
22.8 值汇聚
22.9 无条件执行
22.10 条件执行
22.11 设置和拆除
22.12 终止测试
22.13 小结
第23章 实践:垃圾邮件过滤器
23.1 垃圾邮件过滤器的核心
23.2 训练过滤器
23.3 按单词来统计
23.4 合并概率
23.5 反向卡方分布函数
23.6 训练过滤器
23.7 测试过滤器
23.8 一组工具函数
23.9 分析结果
23.10 接下来的工作
第24章 实践:解析二进制文件
24.1 二进制文件
24.2 二进制格式基础
24.3 二进制文件中的字符串
24.4 复合结构
24.5 设计宏
24.6 把梦想变成现实
24.7 读取二进制对象
24.8 写二进制对象
24.9 添加继承和标记的结构
24.10 跟踪继承的槽
24.11 带有标记的结构
24.12 基本二进制类型
24.13 当前对象栈
第25章 实践:ID3解析器
25.1 ID3v2标签的结构
25.2 定义包
25.3 整数类型
25.4 字符串类型
25.5 ID3标签头
25.6 ID3帧
25.7 检测标签补白
25.8 支持ID3的多个版本
25.9 版本化的帧基础类
25.10 版本化的具体帧类
25.11 你实际需要哪些帧
25.12 文本信息帧
25.13 评论帧
25.14 从ID3标签中解出信息
第26章 实践:用AllegroServe进行Web编程
26.1 30秒介绍服务器端Web编程
26.2 AllegroServe
26.3 用AllegroServe生成动态内容
26.4 生成HTML
26.5 HTML宏
26.6 查询参数
26.7 cookie
26.8 小型应用框架
26.9 上述框架的实现
第27章 实践:MP3数据库
27.1 数据库
27.2 定义模式
27.3 插入值
27.4 查询数据库
27.5 匹配函数
27.6 获取结果
27.7 其他数据库操作
第28章 实践:Shoutcast服务器
28.1 Shoutcast协议
28.2 歌曲源
28.3 实现Shoutcast
第29章 实践:MP3浏览器
29.1 播放列表
29.2 作为歌曲源的播放列表
29.3 操作播放列表
29.4 查询参数类型
29.5 样板HTML
29.6 浏览页
29.7 播放列表
29.8 查找播放列表
29.9 运行应用程序
第30章 实践:HTML生成库,解释器部分
30.1 设计一个领域相关语言
30.2 FOO语言
30.3 字符转义
30.4 缩进打印器
30.5 HTML处理器接口
30.6 美化打印器后台
30.7 基本求值规则
30.8 下一步是什么
第31章 实践:HTML生成库,编译器部分
31.1 编译器
31.2 FOO特殊操作符
31.3 FOO宏
31.4 公共API
31.5 结束语
第32章 结论:下一步是什么
32.1 查找Lisp库
32.2 与其他语言接口
32.3 让它工作,让它正确,让它更快
32.4 交付应用程序
32.5 何去何从
作者介绍
文摘
http://picimg.lshou.com/pic/shop59438727/t/server/
序言