
22 Mar
2006
22 Mar
'06
7:01 a.m.
dominic.steinitz:
Robert Dockins
writes: FYI, putStrLn will automatically insert a newline for you, and the final 'return ()' is unnecessary. My favorite idiom for this kind of thing is:
mainMenu = putStr $ unlines [ "line 1" , "line 2" , "line 3" ]
Or how about
mainMenu = sequence_ $ map putStrLn ["line1", "line2", "line3"]
I argue if you want to sequence_ a map you should write mapM_: mapM_ putStrLn ["line1", "line2", "line3"] mapM is under-appreciated? More under-appreciated are line gaps: main = putStr "line1\n\ \line2\n\ \line3\n" -- Don