在 Agda 中调用函数

Calling a function in Agda

我有这段代码,它基本上是一个 hello world,带有附加函数,它编译运行并输出 'Hello, world 5!':

open import Common.IO

data  ℕ  : Set  where
 zero  : ℕ
 suc   : ℕ → ℕ

-- how to call a function in agda i.e. '_+_(5, 4)' to get '9' 

_+_   :  ℕ → ℕ → ℕ
zero + m = m
suc n + m = suc (n  + m)


main = putStrLn "Hello, world 5!"

如何调用我的 _+_ 函数?我的目标是用 _+_(3,4) 之类的两个参数调用 _+_ 并让程序输出七个。

我的直觉是将“main = putStrLn "Hello, world 5!"”行替换为“putStrLn _+_(3,4)

我是 Agda 的新手,在线工作代码的示例并不多。任何人都可以通过给出一个实际的代码示例来使这个功能工作吗?

谢谢!

open import Common.IO
open import Data.Nat using (ℕ; zero; suc)
open import Data.Integer using (ℤ; +_; show)
open import Data.String using (_++_)

_+_ : ℕ → ℕ → ℕ
zero  + m = m
suc n + m = suc (n + m)

main = putStrLn ("Hello, world " ++ show (+ (3 + 4)) ++ "!")