实用Common Lisp编程PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:(美)塞贝尔著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2011
- ISBN:7115263742
- 页数:417 页
第1章 绪言:为什么是Lisp 1
1.1为什么是Lisp 2
1.2 Lisp的诞生 4
1.3本书面向的读者 6
第2章 周而复始:REPL简介 8
2.1选择一个Lisp实现 8
2.2安装和运行Lisp in a Box 10
2.3放开思想:交互式编程 10
2.4体验REPL 11
2.5 Lisp风格的“Hello,World” 12
2.6保存工作成果 13
第3章 实践:简单的数据库 17
3.1CD和记录 17
3.2录入CD 18
3.3查看数据库的内容 19
3.4改进用户交互 21
3.5保存和加载数据库 23
3.6查询数据库 24
3.7更新已有的记录——WHERE再战江湖 28
3.8消除重复,获益良多 29
3.9总结 33
第4章 语法和语义 34
4.1括号里都可以有什么 34
4.2打开黑箱 34
4.3 S-表达式 36
4.4作为Lisp形式的S-表达式 38
4.5函数调用 39
4.6特殊操作符 39
4.7宏 41
4.8真、假和等价 42
4.9格式化Lisp代码 43
第5章 函数 46
5.1定义新函数 46
5.2函数形参列表 47
5.3可选形参 48
5.4剩余形参 49
5.5关键字形参 50
5.6混合不同的形参类型 51
5.7函数返回值 52
5.8作为数据的函数——高阶函数 53
5.9匿名函数 55
第6章 变量 57
6.1变量的基础知识 57
6.2词法变量和闭包 60
6.3动态变量 61
6.4常量 65
6.5赋值 65
6.6广义赋值 66
6.7其他修改位置的方式 67
第7章宏:标准控制构造 69
7.1 WHEN和UNLESS 70
7.2 COND 71
7.3 AND、OR和NOT 72
7.4 循环 72
7.5 DOLIST和DOTIMES 73
7.6 DO 74
7.7 强大的LOOP 76
第8章 如何自定义宏 78
8.1 Mac的故事:只是一个故事 78
8.2宏展开期和运行期 79
8.3 DEFMACRO 80
8.4示例宏:do-primes 81
8.5宏形参 82
8.6生成展开式 83
8.7堵住漏洞 84
8.8用于编写宏的宏 88
8.9超越简单宏 90
第9章 实践:建立单元测试框架 91
9.1两个最初的尝试 91
9.2重构 92
9.3修复返回值 94
9.4更好的结果输出 95
9.5抽象诞生 97
9.6 测试层次体系 97
9.7总结 99
第10章 数字、字符和字符串 101
10.1数字 101
10.2字面数值 102
10.3初等数学 104
10.4数值比较 106
10.5高等数学 107
10.6字符 107
10.7字符比较 107
10.8字符串 108
10.9字符串比较 109
第11章 集合 111
11.1向量 111
11.2向量的子类型 113
11.3作为序列的向量 114
11.4序列迭代函数 114
11.5高阶函数变体 116
11.6整个序列上的操作 117
11.7排序与合并 118
11.8子序列操作 118
11.9序列谓词 119
11.10序列映射函数 120
11.11哈希表 120
11.12哈希表迭代 122
第12章 LISP名字的由来:列表处理 123
12.1“没有列表” 123
12.2函数式编程和列表 126
12.3“破坏性”操作 127
12.4组合回收性函数和共享结构 129
12.5列表处理函数 131
12.6映射 132
12.7其他结构 133
第13章 超越列表:点对单元的其他用法 134
13.1树 134
13.2集合 136
13.3查询表:alist和plist 137
13.4DESTRUCTURING-BIND 141
第14章 文件和文件I/O 143
14.1读取文件数据 143
14.2读取二进制数据 145
14.3批量读取 145
14.4文件输出 145
14.5关闭文件 146
14.6文件名 147
14.7路径名如何表示文件名 149
14.8构造新路径名 150
14.9目录名的两种表示方法 152
14.10与文件系统交互 153
14.11其他1/O类型 154
第15章 实践:可移植路径名库 157
15.1 API 157
15.2 FEATURES*和读取期条件化 157
15.3列目录 159
15.4测试文件的存在 162
15.5遍历目录树 164
第16章 重新审视面向对象:广义函数 165
16.1广义函数和类 166
16.2广义函数和方法 167
16.3 DEFGENERIC 168
16.4 DEFMETHOD 169
16.5方法组合 171
16.6标准方法组合 172
16.7其他方法组合 173
16.8多重方法 174
16.9未完待续 176
第17章 重新审视面向对象:类 177
17.1 DEFCLASS 177
17.2槽描述符 178
17.3对象初始化 179
17.4访问函数 182
17.5 WITH SLOTS和WITH-ACCESSORS 185
17.6分配在类上的槽 186
17.7槽和继承 187
17.8多重继承 188
17.9好的面向对象设计 190
第18章 一些FORMAT秘诀 191
18.1 FORMAT函数 192
18.2 FORMAT指令 193
18.3基本格式化 194
18.4字符和整数指令 194
18.5浮点指令 196
18.6英语指令 197
18.7条件格式化 198
18.8迭代 199
18.9跳,跳,跳 201
18.10还有更多 202
第19章 超越异常处理:状况和再启动 203
19.1 Lisp的处理方式 204
19.2状况 205
19.3状况处理器 205
19.4再启动 207
19.5提供多个再启动 210
19.6状况的其他用法 211
第20章 特殊操作符 213
20.1控制求值 213
20.2维护词法环境 213
20.3局部控制流 216
20.4从栈上回退 219
20.5多值 23
20.6 EVAL-WHEN 224
20.7其他特殊操作符 227
第21章 编写大型程序:包和符号 228
21.1读取器是如何使用包的 228
21.2包和符号相关的术语 230
21.3三个标准包 230
21.4定义你自己的包 232
21.5打包可重用的库 234
21.6导入单独的名字 235
21.7打包技巧 236
21.8包的各种疑难杂症 237
第22章 高阶LOOP 240
22.1LOOP的组成部分 240
22.2迭代控制 241
22.3计数型循环 241
22.4循环集合和包 242
22.5等价-然后迭代 243
22.6局部变 244
22.7解构变量 245
22.8汇聚 245
22.9无条件执行 247
22.10条件执行 247
22.11设置和拆除 248
22.12终止测试 250
22.13小结 251
第23章 实践:垃圾邮件过滤器 252
23.1垃圾邮件过滤器的核心 252
23.2训练过滤器 255
23.3按单词来统计 257
23.4合并概率 259
23.5反向卡方分布函数 261
23.6训练过滤器 262
23.7测试过滤器 263
23.8一组工具函数 265
23.9分析结果 266
23.10接下来的工作 268
第24章 实践:解析二进制文件 269
24.1二进制文件 269
24.2二进制格式基础 270
24.3二进制文件中的字符串 271
24.4复合结构 273
24.5设计宏 274
24.6把梦想变成现实 275
24.7读取二进制对象 277
24.8写进制对象 279
24.9添加继承和标记的结构 280
24.10跟踪继承的槽 281
24.11带有标记的结构 284
24.12基本二进制类型 285
24.13当前对象栈 288
第25章 实践:ID3解析器 290
25.1 ID3v2标签的结构 291
25.2定义包 292
25.3整数类型 292
25.4字符串类型 294
25.5 ID3标签头 297
25.6 ID3帧 298
25.7检测标签补白 300
25.8支持ID3的多个版本 301
25.9版本化的帧基础类 303
25.10版本化的具体帧类 304
25.11你实际需要哪些帧 305
25.12文本信息帧 307
25.13评论帧 309
25.14从ID3标签中解出信息 310
第26章 实践:用AllegroServe进行Web编程 315
26.130秒介绍服务器端Web编程 315
26.2AllegroServe 317
26.3用AllegroServe生成动态内容 320
26.4生成HTML 321
26.5HTML宏 324
26.6查询参数 325
26.7cookie 327
26.8小型应用框架 329
26.9上述框架的实现 330
第27章 实践:MP3数据库 334
27.1数据库 334
27.2定义模式 336
27.3插入值 338
27.4查询数据库 340
27.5匹配函数 342
27.6获取结果 344
27.7他数据库操作 346
第28章 实践:Shoutcast服务器 348
28.1Shoutcast协议 348
28.2歌曲源 349
28.3实现Shoutcast 351
第29章 实践:MP3浏览器 357
29.1播放列表 357
29.2作为歌曲源的播放列表 359
29.3操作播放列表 362
29.4查询参数类型 365
29.5样板HTML 367
29.6浏览页 368
29.7播放列表 371
29.8查找播放列表 373
29.9运行应用程序 374
第30章 实践:HTML生成库,解释器部分 375
30.1设计一个领域相关语言 375
30.2 FOO语言 376
30.3字符转义 379
30.4缩进打印器 380
30.5 HTML处理器接口 381
30.6美化打印器后台 382
30.7基本求值规则 385
30.8下一步是什么 389
第31章 实践:HTML生成库,编译器部分 390
31.1编译器 390
31.2 FOO特殊操作符 395
31.3 FOO宏 399
31.4公共API 401
31.5结束语 403
第32章 结论:下一步是什么 404
32.1查找Lisp库 404
32.2与其他语言接口 406
32.3让它工作,让它正确,让它更快 406
32.4交付应用程序 413
32.5何去何从 415
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《STEM教育丛书 麦昆机器人和Micro:bit图形化编程》张弛责任编辑;(中国)陈宝杰,沙靓雯 2019
- 《ROS机器人编程与SLAM算法解析指南》陶满礼 2020
- 《我的第一套编程启蒙绘本 123 序列来啦》编程猫教研团队编绘 2019
- 《高等院校计算机任务驱动教改教材 C语言编程思维 第2版》(中国)陈萌,鲍淑娣 2019
- 《我的第一套编程启蒙绘本 咦 什么在 循环》编程猫教研团队编绘 2019
- 《工业机器人离线编程与仿真》张明文,封家诚,王鑫主编 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019