加入 Exercism 的 Idris 轨道,即可获得 58 个练习 还会自动分析 你的代码,并提供 个性化指导, 而且全部100% 免费。
module EvenOdd
data Even : Nat -> Type where
EZ : Even Z
ES : Even n -> Even (S (S n))
ee : Even n -> Even m -> Even (n + m)
ee EZ m = m
ee (ES n) m = ES (ee n m)
借助有趣又有收获的编程练习提升编程水平,在 Exercism 上检验你对概念的理解。
给定一个只能承载一定重量的背包,确定要往背包里放哪些物品,才能使它们的总价值最大。
给定一个数字,求出指定各数字的所有倍数之和,且这些倍数都小于该数字。
确保括号和大括号都能正确匹配。
安全第一!在编译期对程序的正确性提供强有力的保证。
受 λ 演算启发,作用域和循环都靠定义和调用函数来表达。
把类型归类成类型类,就能实现类型安全的重载。
数据不可变,并发因此更安全,也更容易推理。
Idris 只提供少量通用功能。
Idris 是一个活跃开发中的研究试验平台
每种语言都有自己的做事方式,Idris 也不例外。我们的导师会帮助你学会像 Idris 开发者那样思考,并教你如何写出地道的 Idris 代码。解完一道练习后,把它提交给我们由志愿者组成的团队,他们会给你提示、想法和反馈,帮你写出更接近 Idris 中常见风格的代码,还会帮你发现那些你并不知道自己不知道的东西。
了解更多关于指导的内容