加入 Exercism 的 Lean 轨道,即可获得 100 个练习 还会自动分析 你的代码,并提供 个性化指导, 而且全部100% 免费。
namespace HelloWorld
inductive World where
| earth | mars
def hello (world : World) : String :=
match world with
| .earth => "Hello, Earth!"
| .mars => "Hi, Mars!"
end HelloWorld
借助有趣又有收获的编程练习提升编程水平,在 Exercism 上检验你对概念的理解。
查看 Exercism 上所有 Lean 练习
确定性的函数让代码更可预测、可组合,也更容易理解。
把规则直接编码进类型里,类型就自带文档,非法状态也无法被表示。
用同一门语言编写程序并证明其正确。规格说明本身就是代码。
用数学方法证明代码的关键性质,从而超越单纯的测试。
将类型归类为类,能带来轻量而可扩展的抽象。
强大的宏与精化器框架,让你能扩展这门语言,以适应自己的领域。
每种语言都有自己的做事方式,Lean 也不例外。我们的导师会帮助你学会像 Lean 开发者那样思考,并教你如何写出地道的 Lean 代码。解完一道练习后,把它提交给我们由志愿者组成的团队,他们会给你提示、想法和反馈,帮你写出更接近 Lean 中常见风格的代码,还会帮你发现那些你并不知道自己不知道的东西。
了解更多关于指导的内容