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.