fsharp/FSharp.Data — pull request #122 by ovatsus (2013-04-09 23:22:51+00:00)
Title: Change CSV row representation, improve error handling & support for dynamic lookup

* Change csv row representation and improve error handling
* The representation was previously just a string[] and on each cell access the conversion was being made (possibly repeatedly)
* Now it's a tuple, and each row is converted as a block (but still each row on deman)
* This improves the display on F# interactive and the debugger, and allows the csv rows to better display on tools that use reflection and support tuples, like generic data grids hooked into fsi
* It also allows the IgnoreErrors flag to ignore rows with different data types on the columns, and not just different numbers of columns
* With this change we achieve feature parity with the csv provider of TryFSharp.org
* Support for dynamic lookup in CSV files
* Promoted CsvFile and CsvRow to top level documented component under FSharp.Data.Csv
* Dynamic lookup with GetColumn(columnName:string) (#64)
* Optional FSharp.Data.Csv.Extensions API with (?), AsString(), AsInt(), etc... similar to JsonValue