agda学习笔记--开始

adga

下午考完期中考了,感觉不咋滴...

算了,扔掉 haskell ,我们来玩个新的东西 agda

 

首先,安装它十分的麻烦...尤其是 windows 中文版 

其次,我惊奇的发现,agda写出的程序不能运行

???

主要用做定理证明器

(load命令 C+c C+l

 

复制代码
data Bool : Set where
  true : Bool
  false : Bool
not : Bool -> Bool
not true = false
not false = true

data Nat : Set where
  zero : Nat
  suc : Nat -> Nat
  
_+_ : Nat -> Nat -> Nat
zero + m = m
suc n + m = suc (n + m) 

_*_ : Nat -> Nat -> Nat
zero * m = zero
suc n * m = m + (n * m)
复制代码

好吧,抄完第一个程序我已经要骂人了

m + ( n * m ) 必须要有括号??

字母和 + * = 之间必须有空格??

Nat 和 -> 间必须要空格??

_*_ 间不能有空格??

*_*

(不愧是过了编译就过了的语言

操作符

_or_ : Bool -> Bool -> Bool 
true or _ = true
flase or x = x 

if_then_else : {A : Set} -> Bool -> A -> A -> A
if true then x else y = x
if false then x else y = y

要不是它在IDE上的颜色很好看,我已经开喷了

 

posted @   liankewei123456  阅读(180)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示