@hackage portable-lines0.1

Alternative 'lines' implementation that understands CR-LF and CR

Provides an alternative implementation of the Prelude.lines function that treats the following sequences as newline characters:

  • "\r\n" (Windows style)

  • "\r" (Macintosh style, before OS X)

  • "\n" (Unix style)

Haskell's IO system supports both platform-specific line ending conversion (by opening the file in "text mode"), and explicit setting of the newline mode for input and output (see System.IO.hSetNewlineMode). However:

  • If you don't know the line ending format in advance, you would have to open the file and detect the newline format manually.

  • ByteString currently honors neither of these; see http://stackoverflow.com/questions/6837628.