The new std.process is ready for review

H. S. Teoh hsteoh at quickfur.ath.cx
Sat Feb 23 16:44:29 PST 2013


On Sat, Feb 23, 2013 at 04:25:33PM -0800, Jonathan M Davis wrote:
> On Saturday, February 23, 2013 16:09:43 H. S. Teoh wrote:
> > BTW, is "std.process2" just the temporary name, or are we seriously
> > going to put in a "std.process2" into Phobos? I'm hoping the former,
> > as the latter is unforgivably ugly.
> 
> In previous discussions, it was agreed that future replacement modules
> would simply have a number appended to them like that (e.g. std.xml2
> or std.random2). I don't think that that decision is irreversible, but
> unless someone can come up with a much better name, I'd expect it to
> stick, and it has the advantage of making it very clear that it's
> replacing the old one.
[...]

Ugh. I don't like this. I can see where it's coming from, and why it's
necessary (to avoid breaking tons of code relying on the old API), but I
really don't like it. It leads to the ugly situation of code that relies
on both std.xyz7 and std.xyz19, just because parts of the code were
written at different times, and it's too much work to clean up, which
leaves people who read the code having to remember how version 19 of xyz
differed from version 7.

Unless we go through a deprecation process (no pun intended) where
std.process2 is a temporary name until the old std.process is phased
out, then std.process2 is renamed to std.process (perhaps leaving a
wrapper public import in std.process2).

I would really hate to see Phobos deteriorate into a situation of
std.algorithm5, std.io7, std.regex4, std.process3, std.range5, where
nobody can remember which version of which module is the most current
without looking it up, just because we have to keep all the old names
for backwards-compatibility.


T

-- 
Why do conspiracy theories always come from the same people??


More information about the Digitalmars-d mailing list