@@ -0,0 +1,17 @@
1+module Main
2+
3+main : IO ()
4+main = do
5+ printLn $ lines "" == []
6+ -- `lines` seems to ignore too many trailing newlines.
7+ printLn $ lines "\n" == [] -- FIXME: Should be [""].
8+ printLn $ lines "\n\n" == [] -- FIXME: Should be ["", ""].
9+ printLn $ lines "\n\n\n" == [] -- FIXME: Should be ["", "", ""].
10+ printLn $ lines "1\n2\n3" == ["1", "2", "3"]
11+ printLn $ lines "1\n2\n3\n" == ["1", "2", "3"]
12+ printLn $ unlines [] == ""
13+ -- `unlines` works as advertised doesn't follow Haskell here.
14+ -- When files are written using unlines, vim complains of "noeoln".
15+ printLn $ unlines ["1"] == "1" -- FIXME: Should be "1\n"
16+ printLn $ unlines ["1", "2"] == "1\n2" -- FIXME: Should be "1\n2\n"
17+ printLn $ unlines ["1", "2", "3"] == "1\n2\n3" -- FIXME: Should be "1\n2\n3\n"