编程语言理论基础
围绕编程语言理论基础建立可解释、可验证的知识主线。
阅读起点
学习前先阅读:计算思维学习路线。
全书顺序
本书按知识依赖组织。主线先建立可运行的共同模型,再进入机制、工程边界和生产约束;维护与前沿内容明确标注,不改变主线的学习顺序。
第1章|语法、语义与求值
理解本章语法、语义与求值的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 词法与语法:token、文法、解析与 AST:理解词法与语法:token、文法、解析与 AST的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 抽象语法:AST、节点、不变量与树变换:理解抽象语法:AST、节点、不变量与树变换的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 操作语义:小步语义、大步语义与归约:理解操作语义:小步语义、大步语义与归约的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 求值策略:值、环境、闭包与调用方式:理解求值策略:值、环境、闭包与调用方式的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 指称语义:数学对象、函数与不动点:理解指称语义:数学对象、函数与不动点的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第2章|类型系统基础
理解本章类型系统基础的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类型基础:类型、类型规则、类型环境与类型安全:理解类型基础:类型、类型规则、类型环境与类型安全的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 简单类型:基本类型、函数类型、积类型与和类型:理解简单类型:基本类型、函数类型、积类型与和类型的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类型推导:约束生成、合一、Hindley-Milner 与类型变量:理解类型推导:约束生成、合一、Hindley-Milner 与类型变量的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 多态:参数多态、类型参数、泛型与量化:理解多态:参数多态、类型参数、泛型与量化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 子类型:子类型关系、协变、逆变与型变:理解子类型:子类型关系、协变、逆变与型变的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第3章|Lambda 演算与函数式编程
理解本章Lambda 演算与函数式编程的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- Lambda 演算基础:抽象、应用、变量与归约:理解Lambda 演算基础:抽象、应用、变量与归约的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- α 变换与 β 归约:绑定、替换、捕获与正常形式:理解α 变换与 β 归约:绑定、替换、捕获与正常形式的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- Church 编码:布尔、数值、对、列表与递归:理解Church 编码:布尔、数值、对、列表与递归的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 不动点与递归:Y 组合子、递归定义与 let rec:理解不动点与递归:Y 组合子、递归定义与 let rec的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 组合子与 CPS:SKI、延续传递与控制流:理解组合子与 CPS:SKI、延续传递与控制流的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第4章|抽象数据类型与模块
理解本章抽象数据类型与模块的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 抽象数据类型:接口、实现、表示独立性与不变量:理解抽象数据类型:接口、实现、表示独立性与不变量的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 模块与签名:模块、签名、密封与透明:理解模块与签名:模块、签名、密封与透明的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 函子:参数化模块、函子类型与应用:理解函子:参数化模块、函子类型与应用的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 依赖类型:依赖函数、依赖积与类型族:理解依赖类型:依赖函数、依赖积与类型族的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第5章|面向对象与类型扩展
理解本章面向对象与类型扩展的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 对象模型:对象、方法、自引用与动态分派:理解对象模型:对象、方法、自引用与动态分派的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类与继承:类、继承、覆盖与 super:理解类与继承:类、继承、覆盖与 super的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 接口与 trait:接口、trait、mixin 与多重继承:理解接口与 trait:接口、trait、mixin 与多重继承的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类型类:类型类、实例、约束与 ad-hoc 多态:理解类型类:类型类、实例、约束与 ad-hoc 多态的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第6章|效果、内存与并发
理解本章效果、内存与并发的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 副作用与纯度:引用透明、副作用、IO 与 Monad:理解副作用与纯度:引用透明、副作用、IO 与 Monad的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 引用与可变性:引用、赋值、别名与堆:理解引用与可变性:引用、赋值、别名与堆的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 内存管理:手动、垃圾回收、引用计数与生命周期:理解内存管理:手动、垃圾回收、引用计数与生命周期的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 所有权与借用:所有权、移动、借用与生命周期标注:理解所有权与借用:所有权、移动、借用与生命周期标注的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 并发模型:线程、消息、actor、async 与内存序:理解并发模型:线程、消息、actor、async 与内存序的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第7章|编译器、优化与语言设计(第1段)
理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 编译器流程:前端、中端、后端与 IR:理解编译器流程:前端、中端、后端与 IR的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类型擦除与单态化:泛型实现、装箱与特化:理解类型擦除与单态化:泛型实现、装箱与特化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 闭包实现:环境捕获、上值、lambda 提升与调用约定:理解闭包实现:环境捕获、上值、lambda 提升与调用约定的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 优化:内联、死代码消除、常量传播与逃逸分析:理解优化:内联、死代码消除、常量传播与逃逸分析的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 语言设计权衡:安全、性能、表达力与学习曲线:理解语言设计权衡:安全、性能、表达力与学习曲线的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 操作语义:理解操作语义的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第8章|编译器、优化与语言设计(第2段)
理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 求值策略:理解求值策略的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类型规则:理解类型规则的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类型推导:理解类型推导的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 多态:理解多态的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- β 归约:理解β 归约的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- Church 编码:理解Church 编码的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第9章|编译器、优化与语言设计(第3段)
理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- Y 组合子:理解Y 组合子的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类型安全:理解类型安全的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 子类型:理解子类型的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类型类:理解类型类的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 依赖类型:理解依赖类型的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 模块签名:理解模块签名的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第10章|编译器、优化与语言设计(第4段)
理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 引用与别名:理解引用与别名的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 内存管理:理解内存管理的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 所有权借用:理解所有权借用的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 并发模型:理解并发模型的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 效果系统:理解效果系统的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 类型擦除与单态化:理解类型擦除与单态化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
第11章|编译器、优化与语言设计(第5段)
理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 闭包实现:理解闭包实现的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 内联与逃逸分析:理解内联与逃逸分析的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
- 语言设计权衡:理解语言设计权衡的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
阅读边界
本页是学习路线和专题入口,不替代专题笔记中的机制解释、可运行示例和练习。笔记尚未完成的专题会先显示为占位页;已有经验的读者可以跳到具体章节,再按前置关系回补。
路线状态
本路线的目录已完成本轮架构审查;专题笔记的内容质量和来源审查另行进行。