rowrecord

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

Latest on Hackage:0.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed and maintained by Keegan McAllister

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.