On Fri, 09 Mar 2012 18:14:39 -0500, H. S. Teoh <hst...@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