Proposal for std.path replacement

Lars T. Kyllingstad public at kyllingen.NOSPAMnet
Sun Mar 6 03:36:50 PST 2011


On Sun, 06 Mar 2011 01:21:56 -0800, Jonathan M Davis wrote:

> On Thursday 03 March 2011 08:29:00 Lars T. Kyllingstad wrote:
>> As mentioned in the "std.path.getName(): Screwy by design?" thread, I
>> started working on a rewrite of std.path a long time ago, but I got
>> sidetracked by other things.  The recent discussion got me working on
>> it again, and it turned out there wasn't that much left to be done.
>> 
>> So here it is, please comment:
>> 
>>     http://kyllingen.net/code/ltk/doc/path.html
>>     https://github.com/kyllingstad/ltk/blob/master/ltk/path.d
>> 
>> Features:
>> 
>> - Most functions work with all string types, i.e. all permutations of
>> mutable/const/immutable(char/wchar/dchar)[].  Notable exceptions are
>> toAbsolute() and toCanonical, because they rely on std.file.getcwd()
>> which returns an immutable(char)[].
>> 
>> - Correct behaviour in corner cases that aren't covered by the current
>> std.path.  See the other thread for some examples, or take a look at
>> the unittests for a more complete picture.
>> 
>> - Saner naming scheme.  (Still not set in stone, of course.)
> 
> I hate to be nitpicky, but I notice that you're the only author listed
> for this module. The current std.path has several authors - none of
> which are you. So, unless you rewrote all of the code from scratch
> (which you may have done), you really should put the other names on it
> too (though if you rewrote it thoroughly enough, they may have very
> little left in it that they did; unfortunately, without knowing who
> wrote what, you need to put all of their names on it if any of the
> original code is there).

Everything you see in that module is completely rewritten from scratch.  
I started out by trying to make changes to the original std.path, but 
quickly found that I had to change so much it was better to start with a 
clean slate. 

As long as the module is a part of my own library, and doesn't contain 
anyone else's code, I'll only put my name on it.  When it gets included 
in Phobos, and I add the remaining functions (fcmp, fnmatch, fncharmatch 
and expandTilde), I will of course be sure to list all authors.

-Lars


More information about the Digitalmars-d mailing list