
On Sun, Nov 7, 2010 at 10:43 AM, Joachim Breitner
Hi Jaap,
your CSV library is used in the Hackage2 project. I found that backup and restore does not work with a pristine state, and the reason seems to be a problem with your library: It either adds unnecessary newlines or interprets empty lines at the end of the program for no apparent reason:
Prelude Text.CSV> (parseCSV "name" . printCSV) [] Right [[""]] Prelude Text.CSV> (parseCSV "name" . printCSV) [[]] Right [[""],[""]] Prelude Text.CSV> (parseCSV "name" . printCSV) [[],[]] Right [[""],[""]] Prelude Text.CSV> (parseCSV "name" . printCSV) [["hi"],["ho"]] Right [["hi"],["ho"],[""]] Prelude Text.CSV> (parseCSV "name" . printCSV) [["hi"]] Right [["hi"],[""]] Prelude Text.CSV>
At some point I had a hack in place to drop the last row of a parsed CSV file if it was nothing but an empty string. It may have gotten lost, or it may not be universally applied in hackage-server 2. This worked pretty well for most things, but I don't think I ever ran into the issue of an empty line in the middle of a CSV file. Antoine