The path to unity

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat Feb 7 07:00:20 PST 2009


grauzone wrote:
> Next steps:
> - unify the C import modules

We already plan to do that in Phobos.

> - move modules like std.range into core (magically enables Tango to use it)
> - find a common I/O API (and put it into core), which wraps Tango/Phobos 
> specific I/O APIs (personally, I'd prefer having something simple like 
> std.stream [without the interfaces], instead of the clusterfuck in Tango)

You see, that's exactly the kind of rhetoric that is unlikely to bring 
any good to anyone. My understanding is that many people like Tango's 
I/O facilities and use them for real work with good results. My belief 
is that a significantly better design can be put forth in D2, but that's 
just that - a belief. Even if said belief actually materializes one day, 
I have no doubt some people would still prefer Tango's I/O. You just 
can't please everybody.

Also, my personal opinion about std.stream is that it's the typical 
product of an intermediate designer (and I hope enough time has passed 
that the original designers wouldn't take offense): it works, but it's 
baroque, repetitive, bloated, emphasizes the trivial, brings no 
particular insight, draws abstraction lines juuust a tad oblique from 
the right places, and overall leaves the slate ungainly occupied. I 
would gladly remove std.stream from phobos.

> PS: It's fine if it's a third stdlib, as long as both Tango and Phobos 
> people agree on it. It's too late anyway, and important, user-visible 
> types like Thread are in core.

Oh, threads are another big topic. D2's threading model will be probably 
the most disruptive of all of D2 and will in all likelihood render many 
thread-related parts in all libraries obsolete.


Andrei



More information about the Digitalmars-d mailing list