On Thursday, May 23, 2013 03:42:56 deadalnix wrote: > On Thursday, 23 May 2013 at 01:24:42 UTC, Idan Arye wrote: > > Doing it while keeping `std.uni` would create a duplication in > > both API and implementation, since `std.unicode` will contain > > all the functionality of `std.uni`. Eventually `std.uni` would > > have to be removed, because if Phobos would keep the old > > versions forever whenever a better version that does the same > > thing comes it will become very cluttered. Java walked that way. > > > > Once the old `std.uni` will be finally removed - code will > > break. > > Yes, that is exactly what is needed. Today we only consider not > breaking at all, or breaking it as of next version of DMD and > without any support for what come before the breakage. This > boolean choice mindset isn't helping.
Every time that a library change is introduced it's done in a way that allows the programmer time to migrate their code. I'm not aware of any case thus far where we've purposefully changed library code in a manner which immediately broke user code. We don't even do that with the compiler. The problem is all of the times that it happens on accident (particularly with compiler regressions). So, regardless, we're not going to immediately break code out from under people. So, the question is whether it's worth making people change their code sometime between when we make the change and when std.uni finally goes away. And I don't think that making people change their code is worth it regardless of how gradual it is. std.uni is not as good a name as std.unicode, but it's just not worth forcing people to change their code in order to fix it. If we keep trying to tweak the names of modules and functions and whatnot, we'll never be in a state where people can rely on their code compiling across compiler versions. Tweaking some stuff is necessary, and we did a lot in the past to fix symbol names, but we've pretty much stopped doing that, and we have to draw the line somewhere. The general push has been to stabilize our the compiler and Phobos, and tweaking names does not help with that and generally has a low ROI. - Jonathan M Davis
