
On Tue, Jan 03, 2006 at 05:49:07PM +0000, Neil Mitchell wrote:
All Haskell functions are lazy, hence there is no need to "write a lazy version" of your print_list function. I think the function you probably want is:
putStr (unlines xs)
This uses the bulid in unlines function, which is similar in spirit to join (you get more quotes, which I guess you don't want)
The equivalent in monad'y programming is:
mapM putStrLn xs
The first one has fewer monads, so I prefer it, but take your pick :)
Nitpicking a bit to prevent possible confusion: a monad is a *type constructor*, not an expression. In both variants above you are dealing with two monads - IO and [] - however, the Monad instance for [] is not used. Best regards Tomasz -- I am searching for programmers who are good at least in (Haskell || ML) && (Linux || FreeBSD || math) for work in Warsaw, Poland