Lean 函数式编程

9. 后续学习🔗

本书介绍了 Lean 中函数式编程的最基础内容,其中包括少量交互式定理证明。 使用像 Lean 这样的依值类型函数式语言是一个深刻的主题,可谈之处甚多。 根据你的兴趣,以下资源可能有助于学习 Lean 4。

9.1. 学习 Lean🔗

Lean 4 本身在以下资源中有所介绍:

然而,继续学习 Lean 的最佳方式是开始阅读和编写代码,并在遇到困难时查阅文档。 此外,Lean Zulip 是结识其他 Lean 用户、寻求帮助以及帮助他人的绝佳场所。

9.2. Lean 中的数学

社区网站 上提供了大量面向数学家的学习资源。

9.3. 在计算机科学中使用依值类型

Rocq 是一种与 Lean 有许多共同之处的语言。 对于计算机科学家而言,Software Foundations 这一交互式教材系列为 Rocq 在计算机科学中的应用提供了极好的入门介绍。 Lean 和 Rocq 的基本思想非常相似,并且技能可以很容易地在这两个系统之间迁移。

9.4. 依值类型编程

对于有兴趣学习使用索引族和依值类型来组织程序的程序员,Edwin Brady 的 Type Driven Development with Idris 提供了极好的入门介绍。 与 Rocq 一样,Idris 是 Lean 的近亲,尽管它缺少策略。

9.5. 理解依值类型

The Little Typer 是一本面向程序员的书:这些程序员尚未正式学习过逻辑或程序设计语言理论,但希望理解依值类型论的核心思想。 尽管上述所有资源都力求尽可能实用,The Little Typer 则呈现了一种依值类型论的入门路径:只使用来自编程的概念,从零开始构建最基础的内容。 声明:Functional Programming in Lean 的作者也是 The Little Typer 的作者之一。