www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - std.csv: Vote in this thread

reply dsimcha <dsimcha yahoo.com> writes:
We're going to do something a little unusual with the std.csv voting. 
Please cast **two** votes:

1.  Whether std.csv should be included in Phobos.

2.  Whether version one or version two (see below) should be included 
**if** std.csv is included at all.

The difference between versions 1 and 2 of std.csv is that version 1 
keeps the Record and Records structs in the documentation, whereas 
version 2 hides them completely in the style of std.algorithm.  This is 
a detail that there was substantial disagreement about during the review.

Code:

https://github.com/he-the-great/phobos/blob/csv/std/csv.d

Docs (version 1):

http://nascent.freeshell.org/programming/D/doc/phobos/std_csv.html

Docs (version 2):

http://nascent.freeshell.org/programming/D/doc/phobos/std_csv2.html
Nov 12 2011
next sibling parent "Robert Jacques" <sandford jhu.edu> writes:
On Sat, 12 Nov 2011 14:27:22 -0500, dsimcha <dsimcha yahoo.com> wrote:

 We're going to do something a little unusual with the std.csv voting.
 Please cast **two** votes:

 1.  Whether std.csv should be included in Phobos.

 2.  Whether version one or version two (see below) should be included
 **if** std.csv is included at all.

 The difference between versions 1 and 2 of std.csv is that version 1
 keeps the Record and Records structs in the documentation, whereas
 version 2 hides them completely in the style of std.algorithm.  This is
 a detail that there was substantial disagreement about during the review.

 Code:

 https://github.com/he-the-great/phobos/blob/csv/std/csv.d

 Docs (version 1):

 http://nascent.freeshell.org/programming/D/doc/phobos/std_csv.html

 Docs (version 2):

 http://nascent.freeshell.org/programming/D/doc/phobos/std_csv2.html

Vote for version 2.
Nov 12 2011
prev sibling next sibling parent "JimB" <JimBean on.the.rocks> writes:
dsimcha wrote:
 We're going to do something a little unusual with the std.csv voting.
 Please cast **two** votes:

Voting is a crime against humanity. Voting is evil.
Nov 12 2011
prev sibling next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
1. Yes.

2. I vote for the version where Records is defined inside csvReader (#2). 
However, since the documentation for csvrReader seems to have been written 
with the idea that there is a separate set of documentation for Records and 
Record, csvReader's documentation could use some fleshing out to make sure tha 
the necessary details are there. Knowing that the return type is an input 
range covers most of it, but the various possible return types of its front 
property should be explained, and it shouldn't mention the name Records or 
Record, since they wouldn't be in the documentation anymore.

- Jonathan M Davis
Nov 12 2011
parent "JimB" <JimBean on.the.rocks> writes:
Jonathan M Davis wrote:
 1. Yes.

Sheeple response.
Nov 12 2011
prev sibling next sibling parent reply Jonas Drewsen <jdrewsen nospam.com> writes:
On 12/11/11 20.27, dsimcha wrote:
 We're going to do something a little unusual with the std.csv voting.
 Please cast **two** votes:

 1. Whether std.csv should be included in Phobos.

 2. Whether version one or version two (see below) should be included
 **if** std.csv is included at all.

1, yes 2, #2 -Jonas
Nov 18 2011
parent dsimcha <dsimcha yahoo.com> writes:
On 11/18/2011 7:02 AM, Jonas Drewsen wrote:
 On 12/11/11 20.27, dsimcha wrote:
 We're going to do something a little unusual with the std.csv voting.
 Please cast **two** votes:

 1. Whether std.csv should be included in Phobos.

 2. Whether version one or version two (see below) should be included
 **if** std.csv is included at all.

1, yes 2, #2 -Jonas

Thank you to Jonathan Davis for reminding people to vote. I did forget to specify, but voting ends at the end of Saturday. (I'll leave the time zone deliberately ambiguous because, realistically, I'm not going to stare at the clock and reject any vote that's a tiny bit past the deadline.) Anyhow, my vote is: 1. yes 2. #1. I think deliberately hiding the return type of a function is an overused idiom and can be frustrating when you need to use some complicated typeof() expression to declare it as a member of a class/struct.
Nov 18 2011
prev sibling next sibling parent Alix Pexton <alix.DOT.pexton gmail.DOT.com> writes:
There are other features that I think are needed in a complete CSV 
module, but reading is the most troublesome and this offering seems to 
do a good job of that!

1: Yes!

2: Indifferent (not had time to contemplate the issue.)

A...
Nov 19 2011
prev sibling parent "Nick Sabalausky" <a a.a> writes:
"dsimcha" <dsimcha yahoo.com> wrote in message 
news:j9mhc9$2ogp$1 digitalmars.com...
 1.  Whether std.csv should be included in Phobos.

No, not yet. I hate to be the "no" guy, especially this late in the game, but I think the exceptions need some attention. Specifically, I think we should consider that IncompleteCellException and HeaderMismatchException should inherit from CSVException. If the reason they aren't is because row and col aren't always available (I don't know whether that's the case or not), then maybe row and col should be somehow nullable (maybe as a mini class). I'm also concerned about "Record" and "Records", which people won't usually use directly, cluttering the importer's namespace and causing unnecessary conflicts.
 2.  Whether version one or version two (see below) should be included 
 **if** std.csv is included at all.

Version 1. Documenting the ranges in, say, std.algorithm would be a bad idea, but for std.csv I think it makes sense.
Nov 19 2011