Am Tue, 28 May 2013 18:26:08 -0400 schrieb "Steven Schveighoffer" <schvei...@yahoo.com>:
> On Tue, 28 May 2013 17:13:59 -0400, David Nadlinger > <s...@klickverbot.at> wrote: > > > On Tuesday, 28 May 2013 at 19:01:00 UTC, Steven Schveighoffer wrote: > >> Nothing is breakage before shared library support is ready. And > >> it's almost ready... > > > > This comment makes me slightly nervous, as I think even then, we > > shouldn't be too quick to commit to ABI stability. Quite on the > > contrary, we need to make sure to aggressively tell users that > > they can't expect two pieces D code that were not compiled with the > > exact same compiler version to interoperate. > > Like it or not, dynamic library support means we need to pay more > attention to ABI breakage. People will complain about what largely > is not really a problem (since code is statically compiled, you > essentially build it every time anyway). We only have to do the library versioning right. If we increase the major version with every release we can break the ABI as much as we want. Older applications the will always use the old shared libraries, newer application the new ones. This means you'll have 3-4 copies of phobos/druntime on your system, but I don't think that is an issue. I agree with David that stabilizing the ABI is not a good idea right now. We don't have a standard ABI, toString/toHash might need to be removed which will break everything, we have some modules in phobos that should be replaced ASAP (std.stream, std.xml)...