|
1 |
| -# Functional Programming in Lean |
| 1 | +# Lean 函数式编程 |
2 | 2 |
|
3 |
| -[Functional Programming in Lean](./title.md) |
4 |
| -[Introduction](./introduction.md) |
5 |
| -[Acknowledgments](./acknowledgments.md) |
| 3 | +[Lean 函数式编程](./title.md) |
| 4 | +[引言](./introduction.md) |
| 5 | +[致谢](./acknowledgments.md) |
6 | 6 |
|
7 |
| -- [Getting to Know Lean](./getting-to-know.md) |
8 |
| - - [Evaluating Expressions](./getting-to-know/evaluating.md) |
9 |
| - - [Types](./getting-to-know/types.md) |
10 |
| - - [Functions and Definitions](./getting-to-know/functions-and-definitions.md) |
11 |
| - - [Structures](./getting-to-know/structures.md) |
12 |
| - - [Datatypes, Patterns and Recursion](./getting-to-know/datatypes-and-patterns.md) |
13 |
| - - [Polymorphism](./getting-to-know/polymorphism.md) |
14 |
| - - [Additional Conveniences](./getting-to-know/conveniences.md) |
15 |
| - - [Summary](./getting-to-know/summary.md) |
| 7 | +- [了解 Lean](./getting-to-know.md) |
| 8 | + - [求值表达式](./getting-to-know/evaluating.md) |
| 9 | + - [类型](./getting-to-know/types.md) |
| 10 | + - [函数与定义](./getting-to-know/functions-and-definitions.md) |
| 11 | + - [结构体](./getting-to-know/structures.md) |
| 12 | + - [数据类型、模式匹配与递归](./getting-to-know/datatypes-and-patterns.md) |
| 13 | + - [多态](./getting-to-know/polymorphism.md) |
| 14 | + - [其他便利的功能](./getting-to-know/conveniences.md) |
| 15 | + - [总结](./getting-to-know/summary.md) |
16 | 16 | - [Hello, World!](./hello-world.md)
|
17 |
| - - [Running a Program](./hello-world/running-a-program.md) |
18 |
| - - [Step By Step](./hello-world/step-by-step.md) |
19 |
| - - [Starting a Project](./hello-world/starting-a-project.md) |
20 |
| - - [Worked Example: `cat`](./hello-world/cat.md) |
21 |
| - - [Additional Conveniences](./hello-world/conveniences.md) |
22 |
| - - [Summary](./hello-world/summary.md) |
23 |
| -- [Interlude: Propositions, Proofs, and Indexing](props-proofs-indexing.md) |
24 |
| -- [Overloading and Type Classes](type-classes.md) |
25 |
| - - [Positive Numbers](type-classes/pos.md) |
26 |
| - - [Type Classes and Polymorphism](type-classes/polymorphism.md) |
27 |
| - - [Controlling Instance Search](type-classes/out-params.md) |
28 |
| - - [Arrays and Indexing](type-classes/indexing.md) |
29 |
| - - [Standard Classes](type-classes/standard-classes.md) |
30 |
| - - [Coercions](type-classes/coercion.md) |
31 |
| - - [Additional Conveniences](type-classes/conveniences.md) |
32 |
| - - [Summary](type-classes/summary.md) |
33 |
| -- [Monads](./monads.md) |
34 |
| - - [The Monad Type Class](./monads/class.md) |
35 |
| - - [Example: Arithmetic in Monads](./monads/arithmetic.md) |
36 |
| - - [`do`-Notation for Monads](./monads/do.md) |
37 |
| - - [The `IO` Monad](./monads/io.md) |
38 |
| - - [Additional Conveniences](monads/conveniences.md) |
39 |
| - - [Summary](monads/summary.md) |
40 |
| -- [Functors, Applicative Functors, and Monads](functor-applicative-monad.md) |
41 |
| - - [Structures and Inheritance](functor-applicative-monad/inheritance.md) |
42 |
| - - [Applicative Functors](functor-applicative-monad/applicative.md) |
43 |
| - - [The Applicative Contract](functor-applicative-monad/applicative-contract.md) |
44 |
| - - [Alternatives](functor-applicative-monad/alternative.md) |
45 |
| - - [Universes](functor-applicative-monad/universes.md) |
46 |
| - - [The Complete Definitions](functor-applicative-monad/complete.md) |
47 |
| - - [Summary](functor-applicative-monad/summary.md) |
48 |
| -- [Monad Transformers](monad-transformers.md) |
49 |
| - - [Combining IO and Reader](monad-transformers/reader-io.md) |
50 |
| - - [A Monad Construction Kit](monad-transformers/transformers.md) |
51 |
| - - [Ordering Monad Transformers](monad-transformers/order.md) |
52 |
| - - [More `do` Features](monad-transformers/do.md) |
53 |
| - - [Additional Conveniences](monad-transformers/conveniences.md) |
54 |
| - - [Summary](monad-transformers/summary.md) |
55 |
| -- [Programming with Dependent Types](dependent-types.md) |
56 |
| - - [Indexed Families](dependent-types/indexed-families.md) |
57 |
| - - [The Universe Design Pattern](dependent-types/universe-pattern.md) |
58 |
| - - [Worked Example: Typed Queries](dependent-types/typed-queries.md) |
59 |
| - - [Indices, Parameters, and Universe Levels](dependent-types/indices-parameters-universes.md) |
60 |
| - - [Pitfalls of Programming with Dependent Types](dependent-types/pitfalls.md) |
61 |
| - - [Summary](./dependent-types/summary.md) |
62 |
| -- [Interlude: Tactics, Induction, and Proofs](./tactics-induction-proofs.md) |
63 |
| -- [Programming, Proving, and Performance](programs-proofs.md) |
64 |
| - - [Tail Recursion](programs-proofs/tail-recursion.md) |
65 |
| - - [Proving Equivalence](programs-proofs/tail-recursion-proofs.md) |
66 |
| - - [Arrays and Termination](programs-proofs/arrays-termination.md) |
67 |
| - - [More Inequalities](programs-proofs/inequalities.md) |
68 |
| - - [Safe Array Indices](programs-proofs/fin.md) |
69 |
| - - [Insertion Sort and Array Mutation](programs-proofs/insertion-sort.md) |
70 |
| - - [Special Types](programs-proofs/special-types.md) |
71 |
| - - [Summary](programs-proofs/summary.md) |
| 17 | + - [运行](./hello-world/running-a-program.md) |
| 18 | + - [逐步运行](./hello-world/step-by-step.md) |
| 19 | + - [启动项目](./hello-world/starting-a-project.md) |
| 20 | + - [现实示例:`cat`](./hello-world/cat.md) |
| 21 | + - [其他便利的功能](./hello-world/conveniences.md) |
| 22 | + - [总结](./hello-world/summary.md) |
| 23 | +- [插曲:命题、证明与索引](props-proofs-indexing.md) |
| 24 | +- [重载与类型类](type-classes.md) |
| 25 | + - [正数](type-classes/pos.md) |
| 26 | + - [类型类与多态](type-classes/polymorphism.md) |
| 27 | + - [控制实例搜索](type-classes/out-params.md) |
| 28 | + - [数组与索引](type-classes/indexing.md) |
| 29 | + - [标准类](type-classes/standard-classes.md) |
| 30 | + - [强制转换](type-classes/coercion.md) |
| 31 | + - [其他便利的功能](type-classes/conveniences.md) |
| 32 | + - [总结](type-classes/summary.md) |
| 33 | +- [单子](./monads.md) |
| 34 | + - [单子类型类](./monads/class.md) |
| 35 | + - [示例:用单子表达算术运算](./monads/arithmetic.md) |
| 36 | + - [单子的 `do`-记法](./monads/do.md) |
| 37 | + - [`IO` 单子](./monads/io.md) |
| 38 | + - [其他便利的功能](monads/conveniences.md) |
| 39 | + - [总结](monads/summary.md) |
| 40 | +- [函子、应用函子与单子](functor-applicative-monad.md) |
| 41 | + - [结构和继承](functor-applicative-monad/inheritance.md) |
| 42 | + - [应用函子](functor-applicative-monad/applicative.md) |
| 43 | + - [应用函子的法则](functor-applicative-monad/applicative-contract.md) |
| 44 | + - [选择子](functor-applicative-monad/alternative.md) |
| 45 | + - [全类](functor-applicative-monad/universes.md) |
| 46 | + - [完整定义](functor-applicative-monad/complete.md) |
| 47 | + - [总结](functor-applicative-monad/summary.md) |
| 48 | +- [单子变换器](monad-transformers.md) |
| 49 | + - [组合 IO 与 Reader](monad-transformers/reader-io.md) |
| 50 | + - [单子构建工具包](monad-transformers/transformers.md) |
| 51 | + - [对单子变换器排序](monad-transformers/order.md) |
| 52 | + - [更多 `do` 的特性](monad-transformers/do.md) |
| 53 | + - [其他便利的功能](monad-transformers/conveniences.md) |
| 54 | + - [总结](monad-transformers/summary.md) |
| 55 | +- [依值类型编程](dependent-types.md) |
| 56 | + - [索引族](dependent-types/indexed-families.md) |
| 57 | + - [全类设计模式](dependent-types/universe-pattern.md) |
| 58 | + - [现实示例:类型化查询](dependent-types/typed-queries.md) |
| 59 | + - [索引、形参与全类层级](dependent-types/indices-parameters-universes.md) |
| 60 | + - [依值类型编程的陷阱](dependent-types/pitfalls.md) |
| 61 | + - [总结](./dependent-types/summary.md) |
| 62 | +- [插曲:策略、归纳与证明](./tactics-induction-proofs.md) |
| 63 | +- [编程、证明与性能](programs-proofs.md) |
| 64 | + - [尾递归](programs-proofs/tail-recursion.md) |
| 65 | + - [证明等价](programs-proofs/tail-recursion-proofs.md) |
| 66 | + - [数组与停机](programs-proofs/arrays-termination.md) |
| 67 | + - [更多不等式](programs-proofs/inequalities.md) |
| 68 | + - [安全数组索引](programs-proofs/fin.md) |
| 69 | + - [插入排序与数组可变性](programs-proofs/insertion-sort.md) |
| 70 | + - [特殊类型](programs-proofs/special-types.md) |
| 71 | + - [总结](programs-proofs/summary.md) |
72 | 72 |
|
73 |
| -[Next Steps](next-steps.md) |
| 73 | +[接下来做什么](next-steps.md) |
0 commit comments