Can't understand result of Monad >> application
问题 Operation >> description is the following: Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in imperative languages. Here is the example which confuses me: > ([1] ++ [2]) >> ([2] ++ [3]) [2,3,2,3] I'm expecting the list [2,3] which would be result of right part of expression. How can result of [2,3,2,3] be explained? 回答1: (>>) is by default defined as a >> b = a >>= (\_ -> b) so the value being ignored is an a in a