我在machiene上运行了agda,但是我在运行“学习agda”教程中的基本示例时遇到了困难
网页在这里:http://learnyouanagda.liamoc.net/pages/peano.html
我整理了教程中的代码
module peano where
data ℕ : Set where
zero : ℕ
suc : ℕ → ℕ
_+_ : ℕ → ℕ → ℕ
zero + zero = zero
zero + n = n
(suc n) + n′ = suc (n + n′)
但是当我尝试“加载”文件时,在准备编译时会引发以下错误:
/home/adjam/Desktop/first_program.agda:3,8-13
The name of the top level module does not match the file name. The
module peano should be defined in one of the following files:
/home/adjam/Desktop/peano.agda
/home/adjam/Desktop/peano.lagda
/usr/share/agda-stdlib/peano.agda
如何获取此代码以进行编译和运行?我不知道如何添加“ peano”之类的库。我是agda的初学者,如果您对代码示例有个清晰的了解,将不胜感激。
如果我愿意
data ℕ : Set where
zero : ℕ
suc : ℕ → ℕ
文件编译
如果我只是这样跳过peano库
data ℕ : Set where
zero : ℕ
suc : ℕ → ℕ
_+_ : ℕ → ℕ → ℕ
zero + zero = zero
zero + n = n
(suc n) + n′ = suc (n + n′)
然后我得到了错误
/home/adjam/Desktop/first_program.agda:10,1-1
/home/adjam/Desktop/first_program.agda:10,1: Parse error
_+_<ERROR>
: ℕ → ℕ → ℕ
zero + zero = ze...
该如何解决?我需要使用Peano来编译此代码吗?如果是这样,我该怎么办?
答案 0 :(得分:1)
要解决您的第一个错误,您需要仔细阅读错误消息:
顶级模块的名称与文件名不匹配。
您的文件名为first_program.agda
,而不是peano.agda
,因此出错。您需要重命名文件或调用顶级模块first_program
。
一旦模块头被删除,我就不会再遇到第二个错误:文件解析对我来说很好。