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