Haskell 中 lambda 函数的解释

zep*_*pal 2 lambda haskell function

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

(\x -> (>=5) x)
Run Code Online (Sandbox Code Playgroud)

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

Wil*_*sem 8

中缀运算符\xc2\xa0 [Haskell-wiki](>= 5)的一部分,它相当于,因此它是一个函数,我们应用于该函数。这意味着:\\y -> y >= 5x

\n
\\x -> (>= 5) x\n
Run Code Online (Sandbox Code Playgroud)\n

因此相当于:

\n
\\x -> x >= 5\n
Run Code Online (Sandbox Code Playgroud)\n

或者简单地:

\n
(>= 5)\n
Run Code Online (Sandbox Code Playgroud)\n

由于\xce\xb7-reduction \xc2\xa0 [Haskell-wiki]

\n