Haskell foldr具有功能

时间:2015-03-12 14:32:09

标签: haskell

我想了解如何评估Haskell foldr的以下代码。

k x y = x

foldr k 1 [0..5]

结果为0,但我不明白为什么它为零?我想x是1,列表中的任何元素都是y。请问有人向我解释一下吗?我在网上搜索过但却找不到任何有用的东西。

1 个答案:

答案 0 :(得分:10)

Haskell Wiki有一些有关如何解释foldr的有用信息,包括此图片:

enter image description here

您可以看到表达式扩展为:

0 `k` (1 `k` ... (5 `k` 1)))))