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上的颜色很好看,我已经开喷了

原文地址:https://www.cnblogs.com/liankewei/p/15568943.html