function - Haskell 中 lambda 函数的解释

标签 function haskell lambda

x 最后在做什么?为什么我需要把它写在那里?

(\x -> (>=5) x)

如果我这样调用函数:(\x -> (>=5) x) 5,第二个 x 在做什么? 也许有人可以向我解释一下。

最佳答案

(>= 5) 是一个 section of an infix operator [Haskell-wiki] ,它等同于 \y -> y >= 5,因此它是一个函数,我们将 x 应用于该函数。因此,这意味着:

\x -> (>= 5) x

因此等同于:

\x -> x >= 5

或者简单地说:

(>= 5)

由于η-reduction [Haskell-wiki] .

关于function - Haskell 中 lambda 函数的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74206375/

相关文章:

haskell - 函数箭头右侧的 forall 是什么意思?

haskell - Haskell 中的派生实例

python - 如何为python中的每个元素添加一个数字?

java - 如何在 Java 中计算欧拉 totient 函数 φ?

haskell - Either a 和 Either Int 有什么区别?什么是要么 a ?多态类型构造函数?它的目的是什么?

没有lambda表达式的python排序

python - 用 pythons 内置的 map 函数替换函数

c# - 在 Pivot 中包含更多行

比较C中的unsigned char数组

sql - make_hash() 函数?哈希码?