在 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)) ++ "!")
我有这段代码,它基本上是一个 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)) ++ "!")