丘奇数的实现,pred也就是减1怎么写?
haskell吧
全部回复
仅看楼主
level 1
Galois域 楼主
type Func a = a -> a
type ChurchNum a = Func a -> Func a
churchZero :: ChurchNum a
churchZero = \x -> id
churchSucc :: ChurchNum a -> ChurchNum a
churchSucc n = \f -> f . (n f)
--怎么写?
--churchPred :: ChurchNum a -> ChurchNum a
--churchPred n f x = n (\g h -> h (g f)) (const x) id
church_10 = foldl (\x y -> y x) churchZero $replicate 10 churchSucc
main = print $(church_10 (+1)) 0 -- 10
--print $((churchPred church_10) (+1)) 0 -- 9
2023年12月31日 04点12分 1
level 1
先定义递归类型A = Cons(A -> A)
2024年01月12日 08点01分 5
level 3
模式匹配给他抽出来
2024年11月01日 13点11分 6
1