Skip to content

编程语言理论基础 ​

围绕编程语言理论基础建立可解释、可验证的知识主线。

阅读起点 ​

学习前先阅读:计算思维学习路线。

全书顺序 ​

本书按知识依赖组织。主线先建立可运行的共同模型,再进入机制、工程边界和生产约束;维护与前沿内容明确标注,不改变主线的学习顺序。

第1章|语法、语义与求值 ​

理解本章语法、语义与求值的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 词法与语法:token、文法、解析与 AST:理解词法与语法:token、文法、解析与 AST的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 抽象语法:AST、节点、不变量与树变换:理解抽象语法:AST、节点、不变量与树变换的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 操作语义:小步语义、大步语义与归约:理解操作语义:小步语义、大步语义与归约的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 求值策略:值、环境、闭包与调用方式:理解求值策略:值、环境、闭包与调用方式的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. 指称语义:数学对象、函数与不动点:理解指称语义:数学对象、函数与不动点的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第2章|类型系统基础 ​

理解本章类型系统基础的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 类型基础:类型、类型规则、类型环境与类型安全:理解类型基础:类型、类型规则、类型环境与类型安全的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 简单类型:基本类型、函数类型、积类型与和类型:理解简单类型:基本类型、函数类型、积类型与和类型的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 类型推导:约束生成、合一、Hindley-Milner 与类型变量:理解类型推导:约束生成、合一、Hindley-Milner 与类型变量的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 多态:参数多态、类型参数、泛型与量化:理解多态:参数多态、类型参数、泛型与量化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. 子类型:子类型关系、协变、逆变与型变:理解子类型:子类型关系、协变、逆变与型变的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第3章|Lambda 演算与函数式编程 ​

理解本章Lambda 演算与函数式编程的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. Lambda 演算基础:抽象、应用、变量与归约:理解Lambda 演算基础:抽象、应用、变量与归约的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. α 变换与 β 归约:绑定、替换、捕获与正常形式:理解α 变换与 β 归约:绑定、替换、捕获与正常形式的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. Church 编码:布尔、数值、对、列表与递归:理解Church 编码:布尔、数值、对、列表与递归的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 不动点与递归:Y 组合子、递归定义与 let rec:理解不动点与递归:Y 组合子、递归定义与 let rec的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. 组合子与 CPS:SKI、延续传递与控制流:理解组合子与 CPS:SKI、延续传递与控制流的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第4章|抽象数据类型与模块 ​

理解本章抽象数据类型与模块的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 抽象数据类型:接口、实现、表示独立性与不变量:理解抽象数据类型:接口、实现、表示独立性与不变量的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 模块与签名:模块、签名、密封与透明:理解模块与签名:模块、签名、密封与透明的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 函子:参数化模块、函子类型与应用:理解函子:参数化模块、函子类型与应用的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 依赖类型:依赖函数、依赖积与类型族:理解依赖类型:依赖函数、依赖积与类型族的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第5章|面向对象与类型扩展 ​

理解本章面向对象与类型扩展的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 对象模型:对象、方法、自引用与动态分派:理解对象模型:对象、方法、自引用与动态分派的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 类与继承:类、继承、覆盖与 super:理解类与继承:类、继承、覆盖与 super的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 接口与 trait:接口、trait、mixin 与多重继承:理解接口与 trait:接口、trait、mixin 与多重继承的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 类型类:类型类、实例、约束与 ad-hoc 多态:理解类型类:类型类、实例、约束与 ad-hoc 多态的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第6章|效果、内存与并发 ​

理解本章效果、内存与并发的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 副作用与纯度:引用透明、副作用、IO 与 Monad:理解副作用与纯度:引用透明、副作用、IO 与 Monad的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 引用与可变性:引用、赋值、别名与堆:理解引用与可变性:引用、赋值、别名与堆的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 内存管理:手动、垃圾回收、引用计数与生命周期:理解内存管理:手动、垃圾回收、引用计数与生命周期的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 所有权与借用:所有权、移动、借用与生命周期标注:理解所有权与借用:所有权、移动、借用与生命周期标注的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. 并发模型:线程、消息、actor、async 与内存序:理解并发模型:线程、消息、actor、async 与内存序的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第7章|编译器、优化与语言设计(第1段) ​

理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 编译器流程:前端、中端、后端与 IR:理解编译器流程:前端、中端、后端与 IR的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 类型擦除与单态化:泛型实现、装箱与特化:理解类型擦除与单态化:泛型实现、装箱与特化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 闭包实现:环境捕获、上值、lambda 提升与调用约定:理解闭包实现:环境捕获、上值、lambda 提升与调用约定的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 优化:内联、死代码消除、常量传播与逃逸分析:理解优化:内联、死代码消除、常量传播与逃逸分析的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. 语言设计权衡:安全、性能、表达力与学习曲线:理解语言设计权衡:安全、性能、表达力与学习曲线的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  6. 操作语义:理解操作语义的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第8章|编译器、优化与语言设计(第2段) ​

理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 求值策略:理解求值策略的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 类型规则:理解类型规则的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 类型推导:理解类型推导的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 多态:理解多态的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. β 归约:理解β 归约的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  6. Church 编码:理解Church 编码的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第9章|编译器、优化与语言设计(第3段) ​

理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. Y 组合子:理解Y 组合子的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 类型安全:理解类型安全的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 子类型:理解子类型的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 类型类:理解类型类的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. 依赖类型:理解依赖类型的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  6. 模块签名:理解模块签名的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第10章|编译器、优化与语言设计(第4段) ​

理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 引用与别名:理解引用与别名的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 内存管理:理解内存管理的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 所有权借用:理解所有权借用的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 并发模型:理解并发模型的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. 效果系统:理解效果系统的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  6. 类型擦除与单态化:理解类型擦除与单态化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第11章|编译器、优化与语言设计(第5段) ​

理解本章编译器、优化与语言设计的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 闭包实现:理解闭包实现的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 内联与逃逸分析:理解内联与逃逸分析的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 语言设计权衡:理解语言设计权衡的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

阅读边界 ​

本页是学习路线和专题入口,不替代专题笔记中的机制解释、可运行示例和练习。笔记尚未完成的专题会先显示为占位页;已有经验的读者可以跳到具体章节,再按前置关系回补。

路线状态 ​

本路线的目录已完成本轮架构审查;专题笔记的内容质量和来源审查另行进行。

用心记录每一步成长