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