[Haskell-cafe] Re: Returning a list element?
Donald Bruce Stewart
dons at cse.unsw.edu.au
Wed Mar 22 02:01:42 EST 2006
dominic.steinitz:
> Robert Dockins <robdockins <at> fastmail.fm> 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
More information about the Haskell-Cafe
mailing list