On Thursday, September 15, 2011 11:46 Timon Gehr wrote: > On 09/15/2011 07:48 PM, Jonathan M Davis wrote: > > On Thursday, September 15, 2011 10:39 Andrei Alexandrescu wrote: > >> On 9/15/11 12:14 PM, Jonathan M Davis wrote: > >>> On Thursday, September 15, 2011 03:41 bearophile wrote: > >>>>> It seems > >>>>> (to me) more natural to give it a predicate to compare elements two > >>>>> at a time. This is what is used in c++ std lib. > >>>> > >>>> It's less natural. And D is not C++, there are more than just C++ > >>>> programmers in D. And it leads to longer& more complex code. > >>> > >>> I think that that's up for debate. I would fully expect a min/max > >>> function to be using a comparator function, which means using a binary > >>> predicate. Also, given that everything else in std.algorithm which > >>> takes a predicate is taking an actually predicate and not what should > >>> be compared, having max take something like "a.length" would be > >>> extremely bizarre. I don't find max!"a.length"(range) to be natural at > >>> all. Maybe it's more natural for someone with little to no programming > >>> experience, but I really don't think that your average programmer is > >>> going to find it more natural. > >>> > >>> - Jonathan M Davis > >> > >> I just realized argmax is exactly the name bearophile is looking for > >> (http://en.wikipedia.org/wiki/Arg_max). I know, I'm awesome with names > >> like that. > >> > >> We should add argmax to phobos. > > > > If we're going to add it, that name works fine with me (though it should > > probably be argMax for proper camelcasing). I'd hate to see max work that > > way though. > > > > - Jonathan M Davis > > It is written either arg max or argmax. Proper camel casing for the > first one is argMax and for the second one argmax. Therefore it could go > either way.
Well, if argmax is indeed recognized as a single word/term, then argmax works. I'm not familiar with it though, so I couldn't say based on what I know. - Jonathan M Davis