@hackage rowrecord0.1

Build records from lists of strings, as from CSV files.

Given rows of String data with column headings, this library will create values of user-defined record types. Records can contain mandatory or optional fields of any type, subject to a class constraint. Heading names and and record construction code are derived using Template Haskell.

One use case for this library is parsing records from a CSV file. A parser from CSV to [[String]] is not included, but there are several suitable packages on Hackage.

The emphasis of this library is on simplicity of use rather than performance. It is likely to be suitable for a hundred thousand rows, but not many millions. A future version may support packed input formats like ByteString or Text. Suggestions and patches are welcome.