用函数组合写长度文件夹
Writing length foldr with function composition
我想重写
foldr (\_ y = y + 1) 0
使用 flip
、const
和 (+1)
以及函数组合。
我已经走到这一步了:
foldr (\x -> ((+1) . (flip const x)) 0
但我似乎无法放弃这个 lambda。有什么办法吗?
注意(\_ -> e) = const e
,这里是e = (\y -> y + 1) = (+1)
。因此,
foldr (const (+1)) 0
我想重写
foldr (\_ y = y + 1) 0
使用 flip
、const
和 (+1)
以及函数组合。
我已经走到这一步了:
foldr (\x -> ((+1) . (flip const x)) 0
但我似乎无法放弃这个 lambda。有什么办法吗?
注意(\_ -> e) = const e
,这里是e = (\y -> y + 1) = (+1)
。因此,
foldr (const (+1)) 0