Share your thoughts in the 2021 Clojure Community Survey!

Welcome! Please see the About page for a little more info on how this works.

0 votes
in data.csv by

In the README it says: "Follows the RFC4180 specification but is more relaxed."
This is an oxymoron and confusing in other regards. E.g.:
- What does "relaxed" mean?
- If it is more "relaxed" than the specification, how can it follow it?
- Does it follow the specification, or only parts of it?

Problem: If I use this lib to generate CSV for a third party, can I say "This is RFC4180 conform CSV" and feel safe with it? Or should I add "but it is more relaxed" :)

The task could be to add more specific explanation or a comparison table if necessary.

4 Answers

0 votes
by

Comment made by: jonase

"relaxed" means it will read some files that does not adhere to the RFC4180 spec. Files written with write-csv will follow the spec. If this is not the case it should be considered a bug.

0 votes
by

Comment made by: lgs32a

Thanks for the explanation.
Then it should be pointed out in which regards read CSVs don't need to adhere to the spec and whether a strict mode exists or is planned and whether it is or will or would be more or less performant.

P.S.: Out of curiosity - Is this definition of relaxed some kind of standard in IT? I googled for it, but couldn't find anything related.

0 votes
by

Comment made by: jonase

According to the RFC4180 spec:

  • the lines should end with CRLF, this library also supports only LF as well
  • cells should be separated with commas and this lib also supports other separators

I don't think "relaxed" is a standard term. I would certainly accept a patch that enhances the documentation.

0 votes
by
Reference: https://clojure.atlassian.net/browse/DCSV-10 (reported by lgs32a)
...