On Tue, Jan 03, 2006 at 10:28:54PM +0100, Udo Stenzel wrote: > Daniel Carrera wrote: > > print_list [] = do putStr "" > > This looks as if you're confused. The keyword "do" is completely > redundant. "do" does not mean "please ignore all rules and allow side > effects", it rather means "please build a new action by sequencing what > follows". So "do" with only one action after it is useless (and a sign > of confusion).
Perhaps you are right, but this can also be a sign of version-control awareness, and I know Daniel uses darcs. I often place a single command in a do-block, because I want future changes to touch as little lines as possible. Consider: f = putStrLn "b" and f = do putStrLn "b" If you'll later add more commands, you'll get something like: f = do x <- g putStrLn "b" putStrLn x which is much closer to the reduntant-do variant. Best regards Tomasz -- I am searching for programmers who are good at least in (Haskell || ML) && (Linux || FreeBSD || math) for work in Warsaw, Poland _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe