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??