Why is "bind" written as >>= in Haskell Monads?

What are the origins of the syntax ">>=" and ">>" in Haskell Monads? I'm not looking for a explanation of how Monads work but instead why the language designers chose that syntax. To me, ">>=" and ">>" seems kind of arbitrary and never made intuitive sense. Does anyone have a intuitive explanation? Is it syntax that comes from category theory?


m >>= k suggests "feed the result of computation m to the function k "; m >> n suggests "run the m computation and then the n computation".

链接地址: http://www.djcxy.com/p/47698.html

上一篇: 免费的monad和免费的操作

下一篇: 为什么在Haskell Monads中将“bind”写为>> =?