agda - 尝试在 Agda 中编译基本程序
问题描述
我在我的机器上运行了 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 来编译这段代码吗?如果是这样,我该怎么做?
解决方案
要修复您的第一个错误,您需要仔细阅读错误消息:
顶级模块的名称与文件名不匹配。
您的文件被调用first_program.agda
,因此不会peano.agda
出现错误。您需要重命名文件或调用顶层模块first_program
。
删除模块标头后,我不会收到您的第二个错误:该文件对我来说解析得很好。
推荐阅读
- android - 当我尝试打开特定文件夹时,只打开最近的文件夹
- python - 如何将开始日期和结束日期之间的所有工作日加载到数据框?
- spring - 无法创建 [com.ibm.mq.jms.MQQueueConnectionFactory] 类型的内部 bean 'com.ibm.mq.jms.MQQueueConnectionFactory#61f90a1c'
- java - 消费来自 Kafka 主题的 START 消息,寻找具有相同 UID 的 END 消息;如果 END 消息在 24 小时内未读取,则记录错误
- php - 未找到 Drupal 7 站点 URL
- reactjs - 销毁array.map() 中的对象属性并将对象保留为参数
- charts - _ScaffoldLayout 自定义多子布局委托忘记布局以下子级
- python - 如何解决这个带有 pip 错误的橙色安装?
- postgresql - 无法将 JSON 从 PostgreSQL 插入到 elasticsearch。出现错误 - “执行 JDBC 查询时出现异常”
- python - 期待 FloatTensors 但在类似 MNIST 的任务中得到 LongTensors