At a crossroad

Lutger lutger.blijdestijn at gmail.com
Mon Jun 29 11:27:28 PDT 2009


Ary Borenszweig wrote:

...
> 
> Yes, two main-purpose libraries are indeed a problem. I thought druntime
> was supposed to solve this, but if you are developing a library you'll
> end up using one of the two, and then another library developed in the
> other main-purpose library will not be compatible, unless you throw a
> lot of version conditions all over the place. A real mess. :-P
> 
> Why can't Tango be a library instead of a standard library?
> 
> (I'm just saying Tango here because phobos was the original standard
> library, it could be the other way around, but Tango seems also more of
> a higher-level API.)

People more involved with Tango should be better able to answer this, but I 
believe it's pretty simple to explain: Tango evolved out of Ares and Mango 
to offer an alternative to *both* the runtime and 'user-level' parts of 
Phobos. Back then, phobos was seen as not adequate for serious development, 
stale and hard to participate in. Obviously, a lot of people were motivated 
enough to develop in D as to embark on such a time-consuming project. 

Whether it could be called 'standard' or not is really not an interesting 
debate. The facts are:
- it (claims to) solve various issues with phobos D1, including the runtime
- is widely adopted and indeed the most successful D library ever
- has an incompatible runtime with phobos D1

Now that D2 has druntime (essentially the Tango runtime) Tango can be made 
compatible again when it is eventually ported to D2. So druntime is still 
supposed to solve this issue, but only when Tango becomes D2. Another way of 
looking at it is that the Tango runtime part has already merged with phobos,  
thus solving some problems (at least the ones which the original Tango 
runtime was intended to solve).

D is still in development because the authors have decided it was not nearly 
finished with D1. You can agree with that or not, fact is that D has taken 
that ambitious road. One of the consequences is the continued 
incompatibility between Phobos and Tango, but this is imho merely a 
reflection of the incompatibility between D1 and D2. 

Well that was a verbose way to say this topic is not so interesting anymore, 
at least until Tango is going D2. Now, who is going to write that linker? ;) 
(I can't, I'm not smart enough)




More information about the Digitalmars-d mailing list