An Online Book

Racket 编程入门

从零基础到独立开发应用,全面掌握 Racket 编程。

吉人 著

Preface · 正文之前

写在前面

开始读书之前,先花十秒钟认识一下作者。这篇不讲技术,只做一件事:向你介绍我的公众号。

第 1 部分 · Foundations

起点:编程与计算的本质

回答"编程是什么、计算是什么、Racket 值不值得学"。全书的地基——零基础读者从这里建立直觉,有经验读者从这里对齐认知。

第 2 部分 · Basics

基础:用 Racket 写点什么

回答"用 Racket 写点什么,最少要知道什么"。从括号的含义到数据、列表、结构体、函数,建立 Racket 代码的基本形状。

第 3 部分 · Functional

函数式:不动状态的计算

回答"不动用状态,怎么完成计算"。从高阶函数、递归到 λ 演算、Y-Combinator、迷你解释器——Racket 的核心范式。

第 4 部分 · State

命令式与状态

回答"状态随时间怎么改变"。异常、资源管理(Custodian)、状态机实战,最后用枢纽章把命令式、GUI、Web 串成一条线。

第 5 部分 · Objects & GUI

对象与界面

回答"对象怎么组织、界面怎么搭"。从 class 系统到第一个 GUI、控件、自定义绘制、声明式 GUI、后台任务。

第 6 部分 · Language Design

语言设计与计算模型

回答"语言本身是怎么造出来的"。宏、延续、generator、模块机制、惰性求值、DSL,最后亲手造一门 #lang 语言。

第 7 部分 · Production

走向生产:工程化与实战

回答"读完这本书,我能用 Racket 做什么"。工具链、打包分发、数据库、Web 实战、工业级案例,对标 Core Python Applications Programming。

第 8 部分 · Appendix

附录

Noise 嵌入式运行时精读(Racket 能打工业级的核心证据链)、Racket 编译完全指南、Racket 语言实现剖析。