Hi, As some articles say, do notation is expand to (>>) and (>>=) when being compiled. So I want to know the details. Like: main = do a <- getArgs b <- getLine myFunc1 (head a) b myFunc2 b (head a) I cannot figure out what is the (>>) and (>>=) way of this. Thanks.