为什么返回函数被称为return?

Sam*_*ach 11 io haskell return function

为什么返回函数被称为return?

描述是:

将值注入monadic类型.

这个名字不仅没有意义(对我来说),对于来自命令式语言的人来说,这是一个令人困惑的地方,这return是一个从函数返回的语言关键字.

Mat*_*hid 10

为什么叫这个?因为它通常是monadic代码块中的最后一个函数.通常,使用的唯一理由return是从monadic动作设置最终返回值.

我也认为这是一个非常非常糟糕的名字选择.但现在不是我们可以解决的问题......


Iai*_*ard 10

这纯粹是历史性的.大多数Haskell开发人员都认为这是一个糟糕的名字.它打破了最不惊讶的原则.相当多的旧库函数有点不稳定(过多的错误处理方案和一些其他类型类元素名称会浮现在脑海中).

正如@bheklilr所说,正在进行的重组应该会有所帮助:

如果您对Haskell的元感兴趣,这些是很好的起点: