a; b # Execute command b after a. The result of a is not used by b.
In Haskell: a >> b # Run function b after a. The result of a is not used by b.
In Unix: a | b # Execute command b after a. The result of a is used by b.
In Haskell: a >>= b # Run function b after a. The result of a is used by b.