反斜杠空间在Haskell中意味着什么

qar*_*tal 3 lambda haskell

我知道类似的\x->x+1是一个匿名函数定义,它获取一个x并为其添加一个.但是return x = (\ r -> x)当我在这里阅读一篇文章时,我看到了这个表达.

什么(\ r -> x)意思?为什么反斜杠是空的?

chi*_*chi 6

没有区别:\ r -> x\r -> x具有相同的含义,就像1+1并且1 + 1具有相同的含义.之后的空白\是无关紧要的.

所以,return x只是\r -> x,这是一个接受参数r,忽略它和收益的函数x.

而且,由于r被忽略,我们倾向于写\ _ -> x(或const x- 定义为const x _ = x).