Naming of new lazy versions of existing Phobos functions

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Fri Jul 18 15:37:24 PDT 2014


On 7/18/2014 2:14 PM, Brad Anderson wrote:
> It's kind of weird that you'd say that because you seem to be pretty strongly
> opinionated about the naming.

It's not just this one, it comes up again and again, always spawning long 
debates, and accomplishing next to nothing.


>> I find these interminable naming threads to be frustrating and an impediment
>> to progress on issues with Phobos that actually matter, like making Phobos
>> usable for people who don't want to use the GC.
> The idea of creating this thread was to address the one remaining problem

There is no solution, there is just more discussion and more debate, and useful 
work is not getting done.


> and
> get your stalled pull request merged. It seemed appropriate to bring up the
> issue since your pull request is the prototype for the effort and is something
> every other lazifying pull request will have to consider. I wanted to make it so
> we wouldn't have to bicker about naming with every pull request that comes in by
> trying to head off that problem at the pass.

A naming convention implies a mass renaming of existing lazy algorithms - or it 
is not a convention at all.

Lazy algorithms are not a new invention in Phobos. They've been there since the 
beginning of range use. setExt is not a prototype for lazy ranges, we already 
have them in plenty. It's a prototype for removing storage allocation from 
Phobos functions, making them more composable, etc.


>> My bias is to give strong preference in names to the choice of the person who
>> actually wrote the code in question.
>
> That's really no way to write a standard library. The naming should be just as
> open to review as the implementation. People care a bit too much about naming
> but caring too little is also a problem. Intuitive naming is a valuable thing to
> have. Nobody wants to be constantly looking up function names because it's just
> a roll of the dice how the name ended up.

Whether "setExtension" or "withExtension" is more intuitive is caring too much. 
Calling it "sdjfhalkjshdfjh" is caring too little.



More information about the Digitalmars-d mailing list