前言:
函数式编程作为与编程范式之一有着相当长的历史, 它的发展伴随着计算机科学特别是计算理论与语言理论的发展. 函数式编程可以说是编程语言里一个相当重要的领域, 相关的理论成为了各类研究的基石, 这里为大家介绍函数式编程中最基础的λ-calculus与类型论等的相关的理论.
这个"引论"系列不是真正准备给零基础初学者的, 摊手. 叫引论只是因为这一系列的文章主要是基于λ-calculus讲解与其相关的最基础的理论知识. 所以不是对相关领域比较熟悉或有兴趣的小伙伴们对不起啦喵. 想要真正入门的小伙伴可以去阅读一些稍微入门点的材料, 有什么问题也欢迎随时来找我呀喵.
目录
一. 规约求值
- λ-calculus的构成部分
- λ-calculus规约求值问题
- The Church-Rosser Theorem
二. 不动点
- 递归结构定义问题
- 不动点组合子
- 最小不动点定理
- 不动点逻辑
三. 不可判定
- 条件与分支
- 自然数系统
- 列表结构
- 拓展λ-calculus
- 哥德尔数
- De Bruijn's index
- 递归函数
- 不可判定性
四. 规约策略
- The quasi-leftmost-reduction theorem
- λI-calculus
- βη-规约
五. 简单类型
- Simply typed λ-calculus à la Curry
- Simply typed λ-calculus à la Church
- Church-Rosser property(for simply typed λ-calculus)
六. 正规化与类型重建
- 弱正规化定理
- 强正规化定理
- 类型检查与重建
七. 柯里-霍华德同构
- 待定
八. 系统μ与Continuation
- 待定
九. 系统F与类型多态
- 待定
十. 依值类型
- 待定
十一. Cube与PTS
- 待定
十二. Advanced topic
- lambda模型(待定)
- 类型空间(待定)
- 笛卡儿闭范畴(待定)
(第七节以后的文章还没写好, 望见谅, 我会抽空把坑填上的. 另外关于Lambda calculus引论这个系列与专栏有什么意见或疑问也欢迎来和我讨论, 也欢迎相关话题的投稿)