Hello! On Thu, May 17, 2001 at 11:57:45AM +0200, Rijk-Jan van Haaften wrote:
So what you are saying is that I actually don't need Monads to perform the tasks Monads supports ?
Indeed. However, not using the Monadic do syntax results in hardly-readible code.
I don't really think so. The operator precedences for >> and >>= are quite okay, especially combined to the precedence of lambda binding. How is main = getLine >>= \line -> let number = read line in let result = number + 42 in print result less readable than main = do line <- getLine let number = read line let result = number + 42 print result ? Or main = putStr "Hello! What's your name?" >> getLine >>= \name -> putStrLn ("Hello, " ++ name ++ "!") compared to main = do putStr "Hello! What's your name?" name <- getLine putStrLn ("Hello, " ++ name ++ "!")
[...]
Yes, I use do syntax where appropriate (e.g. also for usual parser monads), however, the operator syntax can be written quite readably too. Kind regards, Hannah.