Breaking backwards compatiblity
Steven Schveighoffer
schveiguy at yahoo.com
Fri Mar 9 15:49:13 PST 2012
On Fri, 09 Mar 2012 18:14:39 -0500, H. S. Teoh <hsteoh at quickfur.ath.cx>
wrote:
> On Fri, Mar 09, 2012 at 11:46:24PM +0100, Alex Rønne Petersen wrote:
>> On 09-03-2012 23:32, Walter Bright wrote:
>> >This statement is from Linus Torvalds about breaking binary
>> compatibility:
>> >
>> >https://lkml.org/lkml/2012/3/8/495
>> >
>> >While I don't think we need to worry so much at the moment about
>> >breaking binary compatibility with new D releases, we do have a big
>> >problem with breaking source code compatibility.
>> >
>> >This is why we need to have a VERY high bar for breaking changes.
>>
>> If we want to start being able to avoid breaking changes, we
>> *really* need to finally deprecate the stuff that's been slated for
>> deprecation for ages...
> [...]
>
> Does that include std.stdio and std.stream? When are we expecting std.io
> to be ready?
Sadly, I have no guarantees for when it will be ready. The rewrite is
mostly in place, what I'm struggling with is how to make it backwards
compatible with std.stdio. Specifically, I think I need to rewrite
std.typecons.RefCounted to be more flexible.
> IMHO, this is one major change that needs to happen sooner rather than
> later. The current lack of interoperability between std.stdio and
> std.stream is a big detraction from Phobos' overall quality.
I agree, as I watch other modules which would benefit from the rewrite get
more attention, I cringe hoping that it doesn't introduce something that
would necessitate a complete rewrite with the new system (thereby making
my case for rewriting std.stdio weaker).
It's my number 1 priority for D. The problem is that D is not my number 1
priority right now :(
If you want to take a look so far (I haven't compiled in a long time since
starting the migration to backwards compatibility):
https://github.com/schveiguy/phobos/blob/new-io2/std/io.d
I also have a trello card for it...
-Steve
More information about the Digitalmars-d
mailing list