第三天:依赖类型实战
在第二天,我们构建了一些依赖数据类型,如向量和闰年类型。你可能已经注意到,定义这些类型比以往需要更多前期工作。那么,是什么特性让这些额外的努力变得值得呢?接下来,我们将深入探讨。
1. 更智能的代码补全
我们将使用带有 idris-vim
插件的 Vim 编辑器,以获得具有自动补全功能的强大开发环境。该插件不在 Idris 主包中,但可根据项目页面的说明轻松安装。
操作步骤如下:
1. 启动 Idris 并指定一个不存在的文件 proof.idr
:
> idris proof.idr
- 在 Idris 中输入
:e
以在 Vim 中编辑该文件:
*proof> :e
- 在 Vim 中添加以下代码:
idris/day3/proof.idr
module Proof
data Natural = Zero | Suc Natural
plus : Natural -> Natural -> Natural
此时,我们已经定义了表示自然数的数据类型。接下来,我们将在 Idris 的帮助