eliminate junk from std.string?

Daniel Gibson metalcaedes at gmail.com
Tue Jan 11 18:23:02 PST 2011


Am 12.01.2011 03:10, schrieb Jonathan M Davis:
> On Tuesday, January 11, 2011 17:17:43 Daniel Gibson wrote:
>> Am 12.01.2011 01:55, schrieb Jonathan M Davis:
>>> On Tuesday, January 11, 2011 16:23:13 Daniel Gibson wrote:
>>>> Deprecating them is certainly a good idea, but I'd suggest to keep the
>>>> deprecated aliases around for longer (until D3), so anybody porting a
>>>> Phobos1-based application to D2/Phobos2 can use them, even if he doesn't
>>>> do this within the next few releases.
>>>
>>> Well, leaving an alias until D3 would equate to a permanent alias in D2,
>>> which is exactly what Walter and Andrei don't want (and I don't either).
>>> There's already plenty in Phobos 2 that's different from Phobos 1. So,
>>> while I don't think that we should rename stuff just to rename stuff, I
>>> also don't think that we should keep aliases around just to make porting
>>> D1 code easier - especially when most D1 code is probably using Tango
>>> anyway. We don't really have a policy in place for how long deprecation
>>> should last prior to outright removal, but until D3 is definitely too
>>> long. I would have thought that the question would be more along the
>>> lines of whether it should be a couple of releases or more like 6 months
>>> to a year before removing deprecated functions and modules at this
>>> point, not whether something will remain deprecated until D3.
>>>
>>> - Jonathan M Davis
>>
>> Somewhere in this thread:
>>
>> Am 11.01.2011 21:43, schrieb Walter Bright:
>>   >  Nick Sabalausky wrote:
>>   >>  I agree with this reasoning for having them. However, I don't think it
>>   >>  means we shouldn't D-ify or Phobos-ify them, at least as far as
>>   >>  capitalization conventions.
>>   >
>>   >  I also object to rather pointlessly annoying people wanting to move
>>   >  their code from D1 to D2 by renaming everything. Endlessly renaming
>>   >  things searching for the perfect name gives the illusion of progress,
>>   >  whereas time would be better spent on improving the documentation,
>>   >  unittests, performance, etc.
>>
>> So his objection was specifically that renaming those functions could
>> annoy people migrating D1 code (and certainly he meant Phobos1 users,
>> because Tango-people either port (parts of) Tango or will have to
>> rewrite that anyway).
>> So, to accomplish that goal (not annoying those people), these aliases
>> should be kept for longer.
>>
>> (An alternative may be to one/some phobos1-compat modules that contain
>> such aliases and maybe even wrappers with old signatures for new
>> functions, that could be imported to ease porting of old applications.
>> That would have the benefit of not cluttering the regular Phobos2
>> modules with that legacy stuff.)
>
> Well, I didn't say that Walter wasn't concerned about it. I just don't see the
> point. Phobos has changed enough from D1 to D2 that even D1 Phobos users (of
> which I get the impression there are relatively few) that there's probably
> already plenty of stuff which is going to break for anyone porting over. I do
> think that keeping a deprecated alias around longer for a function which has
> been around longer makes sense, and the Phobos 1 functions have been around
> longer than anything else. So, deprecating a function that was added 2 releases
> ago probably shouldn't require a deprecated alias for as long as deprecating a
> function that was in Phobos 1 would, but there's still a limit to how long it
> makes sense.
>
> And given that your average D1 user uses Tango rather than Phobos, it makes that
> much less sense to keep aliases to Phobos 1 functions around for a long time.
>
> So, no, we shoudln't get rid of the deprecated alias for a Phobos 1 function
> after only a release or two, but I don't think that it makes sense to keep it
> around for a year or two either.
>
> - Jonathan M Davis

Hmm maybe.
I guess there will be further similar discussions (e.g. the depreation 
of std.stream once the successor is ready).
I think those aliases should at least be kept until all Phobos1 stuff 
that is to be replaced is indeed replaced.
That'd allow a decision that is at least consistent for most Phobos1 
stuff (some has already been removed/replaced, e.g. by the druntime 
modules like core.thread).

Cheers,
- Daniel


More information about the Digitalmars-d mailing list