我正在阅读类别理论基础知识,并尝试理解Haskell在语义上分配给monad操作的名称.
我所经历的所有材料都是指return单位图和join乘法图(我的名字是"加入").因为>>=或者bind我甚至没有找到一个在数学中常见的名字.相反,我遇到了它的翻转形式,lift或者 - *,这反过来对我有意义.
实际问题(tldr):
两个名字都来自编程,而不是数学.return,被用作do表达式的最后一个语句,使它看起来非常紧迫:do {do_something; return result}.bind它的名字来自它的do翻译:action >>= \x -> something转换为do {x <- action; something},看起来像是x从返回的值绑定action.
至于bind数学世界中的模拟,google"Kleisli triple".