Разве в этих ответах слишком много внимания уделяется IO? Если вы хотите перемежать переводы строк, стандартная формула Prelude:
> unlines (map show [1..10])
"1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n"
Это то, что вы хотите написать - в конце концов, новые строки - это символы, а не действия. Если у вас есть выражение для него, вы можете применить putStrLn
или writeFile "Numbers.txt"
непосредственно к этому. Итак, полная операция, которую вы хотите, выглядит примерно так:
putStrLn . unlines . map show
В ghci
у вас будет
> (putStrLn . unlines . map show) [1,2,3]
1
2
3