簡體   English   中英

在Agda中調用函數

[英]Calling a function in Agda

我有這段代碼,它基本上是一個世界,它具有附加功能,它編譯並運行並輸出“ 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)) ++ "!")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM