The new std.process is ready for review

Jonathan M Davis jmdavisProg at gmx.com
Sat Feb 23 20:54:01 PST 2013


On Saturday, February 23, 2013 19:47:54 Nathan M. Swan wrote:
> Jonathan M Davis wrote:
> > On Saturday, February 23, 2013 18:39:10 H. S. Teoh wrote:
> >> Alternatively, I would push for renaming the old std.process to
> >> something like old.process (or something else), which is much less of a
> >> breakage than deleting it from Phobos outright -- existing code just
> >> need to have their imports fixed and will continue working, whereas
> >> deleting the module outright leaves existing code with no recourse but
> >> to potentially rewrite from scratch. This may be easier to convince
> >> Walter & Andrei on, than outright killing old deprecated modules.
> > 
> > Possibly, but Walter takes a very dim view on most any code breakage, even
> > if it means simply changing a makefile to make your code work again, so
> > I'd be very surprised if he thought that moving the current std.process
> > would be acceptable. If Andrei could be convinced, then we could probably
> > do it, but I wouldn't expect him to agree, and IIRC, he had no problem
> > with the std.process2 scheme and might even have suggested it. So, I
> > suspect that your only hope of avoiding std.process2 is if you can come
> > up with a better name.
> > 
> > - Jonathan M Davis
> 
> Why not just deprecate everything currently in std.process and drop in
> the new stuff? It might be a bit ugly, but it prevents both code
> breakage _and_ a proliferation of "std.module2"s.

That only works if there are no conflicts and none of the functions' behaviors 
are changed in a manner which would be incompatible with how they currently 
work. We _were_ able to do exactly what you're suggesting with std.path, but 
it isn't always possible. std.random would be a prime case where it would be a 
problem, because one of the main changes that we want to do is translate all 
of its structs into classes, which would break a lot of code, and wouldn't be 
compatible at all - not unless you come up with new names for everything, 
which would be downright ugly. I don't know how much the new std.process 
conflicts with the old one, but since the main fellow behind the new one is the 
same one who did the new std.path, I suspect that they conflict to much to be 
able to do the transition within a single module. I'd have to compare them to 
be sure though.

- Jonathan M Davis


More information about the Digitalmars-d mailing list