我在emacs的文件trial_agda.agda
中具有以下代码:
module trial_agda where
data 𝕟 : Set where
zero : 𝕟
suc : 𝕟 → 𝕟
_+_ : 𝕟 → 𝕟 → 𝕟
zero + n = n
(suc n) + n′ = suc (n + n′)
它产生
/Users/myname/trial_agda.agda:8,1-13
Missing type signature for left hand side zero + n
when scope checking the declaration
zero + n = n
怎么了?
通过在suc: 𝕟 → 𝕟
后面加一行空格解决了问题。在提到该示例的http://learnyouanagda.liamoc.net/pages/peano.html#fn1中,在讨论示例的地方没有提及应当形成这样的间隙。