···66(** Declarative CSV codecs.
7788 Csvt defines a generalized algebraic datatype whose values denote
99- bidirectional maps between CSV data and the OCaml values of your choice.
1010- Field-level and row-level codecs share a single type {!t}. Row codecs are
1111- built declaratively using constructors and field accessors with the {!Row}
1212- builder. See
99+ bidirectional maps between CSV data and the OCaml values of your choice,
1010+ following the {e finally tagged} approach from
1111+ {{:https://github.com/dbuenzli/jsont/blob/main/paper/soup.tex}An alphabet
1212+ for your data soups} by Daniel Bünzli. Field-level and row-level codecs
1313+ share a single type {!t}. Row codecs are built declaratively using
1414+ constructors and field accessors with the {!Row} builder. See
1315 {{:https://erratique.ch/repos/jsont/paper/soup.pdf}An alphabet for your data
1416 soups} for the technique.
1517