用函数组合编写长度​​折叠器

时间:2017-07-16 16:03:56

标签: haskell function-composition

我想改写

foldr (\_ y = y + 1) 0

使用flipconst(+1)以及功能组合。

我已经走到这一步了:

foldr (\x -> ((+1) . (flip const x)) 0

但我似乎无法放弃这个lambda。有没有办法这样做?

1 个答案:

答案 0 :(得分:6)

请注意(\_ -> e) = const ee = (\y -> y + 1) = (+1)。因此,

foldr (const (+1)) 0