表达式“l = \m -> ...”中的 \m 是什么意思?

Ram*_*mad 2 elm

    semOp l = \m -> case l of
                LD g -> case m of 
                    St xs -> St (g::xs)
                    _ -> Error
Run Code Online (Sandbox Code Playgroud)

只是想知道该\m部分在这里做什么。

Fyo*_*kin 9

\m -> ...匿名函数的语法,又名“lambda 表达式”。

例如,以下两个声明是等效的:

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

两者都定义了一个带有一个参数的函数x,该函数返回一个大于x5 的数字。