Any chance to call Tango as Extended Standard Library
Steven Schveighoffer
schveiguy at yahoo.com
Mon Jan 19 08:11:55 PST 2009
"Piotrek" wrote
> Hello!
>
> It's just an idea. After reading about issues on disallowing DWT to stay
> in standardization area (Anomaly on Wiki4D GuiLibraries page) some
> question appeared in my mind. For propaganda sake isn't it better to not
> make such a big division between phobos and tango in the module naming?
> Logically:
>
> phobos -> std
> tango -> stdex (not tango -> tango)
Let's not forget the licensing issues. Tango is incompatible with some
developers license wise, as you must include attribution for Tango in any
derivative works (i.e. compiled binaries). Phobos has a less restrictive
opt-in policy. I think Walter intends to keep it that way, at least for
DMD. Note that other compilers are free to use Tango or their own standard
library, the D spec is pretty free from library references.
With regards to Tango for D2. It is going to happen. It may not be
tomorrow, but it will probably be done this year. To answer some questions
throughout this discussion, it will look similar to Tango/D1, but will
utilize many of the features of D2, as well as obey the requirements. For
example, it's not simply going to cast away const to keep the implementation
closer to D1. So it will look different than Tango/D1 and most likely, will
not be one code base. Which means, people will have to maintain both, which
is no small feat. But it can (and will) be done. I like D2 too much to not
do it :)
The Tango D2 branch currently in SVN compiles and runs on Linux DMD 2.019.
We have basic functionality for many of the examples, but not all unit tests
pass. However, it should be usable to test simple code. So far, we have
ported completely tango.core and tango.util.log. We have yet to incorporate
druntime, as I didn't want to tackle issues that might be in druntime as
well as porting issues. I think I will try to upgrade to 2.023, as it seems
druntime/compiler interaction is getting a lot more stable, and then
continue porting.
I don't see Tango and Phobos becoming more like one or the other, but as
others have said, there are definite sections of code that can be used from
both without interference. I/O is not one of them, and I don't see that
changing. But due to the open source nature, you can port or re-implement
features of one library into the other, so while you may be choosing between
two different styles, you shouldn't have to choose one or the other for
functionality.
I also don't think this is a bad thing. One of two things will happen.
Either one library totally dominates the other, and eventually everyone
starts using the more popular one (the Beta/VHS route), or both libraries
flourish, and due to the common runtime, can be used concurrently in
projects (the KDE/GNOME route). Either way, I don't see the current rift
between Tango/Phobos being a major detriment to D. It will be short-lived
IMO.
-Steve
More information about the Digitalmars-d
mailing list