数学联邦政治世界观
超小超大

Haskell和自然数之基础篇(一) (5-5)

-- 将lambda函数(\f -> f . f . f ...)封装成一个数据类型,因此用newtype来

-- 得到这个新的Church数的数据类型。

newtype Church = Church { runChurch :: forall a. (a -> a) -> a -> a }

-- | 先定义几个基本函数,用于给后面的运算定义使用

-- 0函数, 0个函数f的组合是函数id

zero = Church $ const id

-- 后继函数, 从n个函数f的组合得到n+1个函数f的组合

succChurch n = Church $ \f -> f . (runChurch n f)

-- 前驱函数,从n个函数f的组合得到n-1个函数f的组合

predChurch n = Church $ \f x -> runChurch n (\g h -> h (g f)) (const x) id

-- | 这是自然数上的归纳函数

iter :: a -> (a -> a) -> N -> a

iter z step n = runChurch n step z

-- | 这是加法的定义,就是将两个列表连接起来

plus :: N -> N -> N

plus m n = Church $ \f -> (runChurch n f) . (runChurch m f)

-- | 这是乘法的定义, 使用了归纳法

mult :: N -> N -> N

mult m n = Church $ runChurch n . runChurch m

-- | 这是幂运算的定义,使用了归纳法

pow :: N -> N -> N

pow m n = Church $ runChurch n (runChurch m)

数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。

相关小说

音韵者之最后的守护者 连载中
音韵者之最后的守护者
原野稳
一夜之间这个世界发生了翻天覆地的变化,皎黯正在缓慢全身关节变成了玩偶,一个月之后,她将变成真正的玩偶,老宅里又出现神秘的少年,以及梦里神色哀......
2.4万字1个月前
一见顷馨 连载中
一见顷馨
西門若琦
守护你,我的救赎……新手写文欢迎指点,谢绝指指点点。
7.4万字4周前
咬一口,三水故事 连载中
咬一口,三水故事
开局三滴水
小众甜文收集地,文都是网上的,侵权删鸭~✧*。٩(ˊωˋ*)و✧*。(别给我这本书送花哦)
22.7万字4周前
宇宙贩卖者 连载中
宇宙贩卖者
今日不打烊
浩瀚的宇宙里有着一群富婆通过购买星球来填满自己的快乐而禁卡卡的工作就是贩卖宇宙
8.9万字4周前
他只是一个bate 连载中
他只是一个bate
经纬度wm
江厝是一个普通的不能再普通的bate,然而一项针对bate的阴谋正在徐徐展开,江厝不得不以身涉险,探寻真相,阻止阴谋的开展。傅炬,顶级Alp......
6.0万字4周前
轩秀:尘埃落定 连载中
轩秀:尘埃落定
酱酱子在努力
简介正在更新
0.9万字4周前