September 17, 2008
Chris R. Miller wrote:
> Yonggang Luo wrote:
>> I care about D about two years. The language attract me but the library. I know there is a lots plenty of good library. Such as Phobos and Tango. But, they are working independently. And even they can¡¯t work together. The Phobos,DWT and Tango have it¡¯s own runtime library. As yet, the D community have DMD, GDC, and LLVMDC in developing, all of these three need it¡¯s own runtime, but the fact is, They can¡¯t work together.  So, in my opinion, we need a bridge to connect these staff together.
>> So, we need a group to write runtime library, it¡¯s support for DMD,GDC, and LLVMDC and even new library. The runtime library will be separate to two part, one is the common part, and the other part will be implement by the Compiler Crafter. And we also need a group to commit to working for that the Phobos and Tango to working together. And we also can add some other library to these. But this working need us to communicate, and don¡¯t do overlap things.
>> At the same time, in fact, we are independent. Why? Suppose we create a project named xdlc(eXtreme D Library Collection), then we create a source tree like this.
>> E:.
>> ©À©¤dwt
>> ©À©¤lang
>> ©¦  ©¸©¤c
>> ©À©¤os
>> ©¦  ©À©¤linux
>> ©¦  ©À©¤macos
>> ©¦  ©¸©¤windows
>> ©À©¤other
>> ©À©¤runtime
>> ©¦  ©À©¤common
>> ©¦  ©À©¤dmd
>> ©¦  ©À©¤gdc
>> ©¦  ©¸©¤llvmdc
>> ©À©¤std
>> ©¸©¤tango
>>     ©À©¤core
>>     ©¦  ©¸©¤sync
>>     ©À©¤io
>>     ©¦  ©À©¤compress
>>     ©¦  ©¦  ©¸©¤c
>>     ©¦  ©À©¤device
>>     ©¦  ©À©¤digest
>>     ©¦  ©À©¤encode
>>     ©¦  ©À©¤model
>>     ©¦  ©À©¤protocol
>>     ©¦  ©¦  ©¸©¤model
>>     ©¦  ©À©¤selector
>>     ©¦  ©¦  ©¸©¤model
>>     ©¦  ©À©¤stream
>>     ©¦  ©¸©¤vfs
>>     ©¦      ©¸©¤model
>>     ©À©¤math
>>     ©¦  ©À©¤internal
>>     ©¦  ©¸©¤random
>>     ©À©¤net
>>     ©¦  ©À©¤C
>>     ©¦  ©À©¤cluster
>>     ©¦  ©¦  ©À©¤model
>>     ©¦  ©¦  ©¸©¤tina
>>     ©¦  ©¦      ©¸©¤util
>>     ©¦  ©¦          ©¸©¤model
>>     ©¦  ©À©¤ftp
>>     ©¦  ©À©¤http
>>     ©¦  ©¦  ©¸©¤model
>>     ©¦  ©¸©¤model
>>     ©À©¤stdc
>>     ©¦  ©¸©¤posix
>>     ©¦      ©À©¤arpa
>>     ©¦      ©À©¤net
>>     ©¦      ©À©¤netinet
>>     ©¦      ©¸©¤sys
>>     ©À©¤sys
>>     ©¦  ©À©¤darwin
>>     ©¦  ©À©¤freebsd
>>     ©¦  ©À©¤linux
>>     ©¦  ©¸©¤win32
>>     ©À©¤text
>>     ©¦  ©À©¤convert
>>     ©¦  ©À©¤json
>>     ©¦  ©À©¤locale
>>     ©¦  ©À©¤stream
>>     ©¦  ©¸©¤xml
>>     ©À©¤time
>>     ©¦  ©¸©¤chrono
>>     ©¸©¤util
>>         ©À©¤collection
>>         ©¦  ©À©¤impl
>>         ©¦  ©À©¤iterator
>>         ©¦  ©¸©¤model
>>         ©À©¤container
>>         ©¦  ©À©¤model
>>         ©¦  ©¸©¤more
>>         ©¸©¤log
>>             ©¸©¤model
>> And, we also can add other library to this tree.
>> And we will create a svn reposity for this. Because svn support external svn, so we can develop every library separately, but using this reposity to collect these library together.
>> But there is some problem with this, it¡¯s need all of us to resolve this problem. That is Phobos and Tango is not compatible. If we solved this problem, the user(Programmer) will be more easy to working with D Programming Language. Because they don¡¯t need to consider to select Tango or Phobos as the base library.
>> And I also think we need to separate the system biding and language binding. Such as c library binding and win32 binding and linux binding. I think It¡¯s more clear. And we also can create a independent project to commit for these area. Nowadays, Phobos and Tango have it¡¯s own Operating System binding and C Library binding, it¡¯s not good that we need to maintain two copy of the source, it¡¯s not meaning full.
>> So, we can discussing with this problem, maybe we will find a better solution.
>> I create a Google group http://groups.google.com/group/xdlc and I create a reposity at http://code.google.com/p/xdlc/, Anyone want to participate this project can post message at http://groups.google.com/group/xdlc or mail to me luoyonggang@gmail.com.
> 
> Great, another tangobos.
> 
> 
> The reason the two teams can't work on it together is that there's some
> licensing issues between the Tango code (which is either BSD or MIT, I
> forget which) and the Phobos code, which is all under the Digital Mars
> License.  It's nutty to the point of making me yearn for the ability to
> drop everything and just go with Objective-C, but the language itself is
> too cool to drop.
> 
> 
> If I remember correctly, the two teams are working on a more unified
> runtime so that when/if the licensing issues ever get fixed they can
> work more closely.
> 
> 
> As it is right now, I see the language in sort of two forms: a bunch of
> Phobos programmers who work with the experimental releases of DMD, and a
> bunch of Tango programmers who work only with stable releases of the
> compiler.  That's just my perception, it's not necessarily what reality is.

I'm part of both groups. In fact I've developed Tango code using Phobos, and Phobos code using Tango...

More accurately, ordered based on SWN commits:
Phobos has been developed by Walter, Andrei, Bartosz, me,  Janice (who seems to have disappeared), and Brad.
Tango has been developed by Kris, Sean, Lars, me, keinfarbton, Gregor, and 20 others.

> Truth be told, it's much more like that person who compared us all to
> various characters from "The Muppets."  In which case, I am not a
> shrimp, I am a King Prawn!
September 17, 2008
They both pretty much accomplish the same damned thing, I don't really understand what all his fuss is about. Use tango if you like it or use phobos, its a matter of choice, not like your really missing out on anything.
September 17, 2008
On Wed, Sep 17, 2008 at 8:18 AM, Rayne <DiscipleRayne@gmail.com> wrote:
> They both pretty much accomplish the same damned thing, I don't really understand what all his fuss is about. Use tango if you like it or use phobos, its a matter of choice, not like your really missing out on anything.
>

Except for all the libraries that are developed for only one stdlib.
And for library writers, it's hell for just that reason -- either you
target one stdlib and exclude yourself from those who use the other,
or you (god forbid) try to make your library work with _both_ stdlibs.
 It's a pointless bifurcation in the community.
September 17, 2008
Sean Kelly <sean@invisibleduck.org> wrote:
> Sergey Gromov wrote:
> > I think that a huge step towards unification would be dividing Phobos into Phobos and Core, where Core is an absolute minimum required to support all built-in language constructs.  I.e. GC, implementation of arrays, implementation of all built-in operators on all built-in types.
> 
> Tango is already designed this way.  The runtime component is completely isolated from the rest of the library.
> 
> > So that Phobos is built on top of the Core.  So that Tango team could say that here's Tango, and here's an alternative Core which is compatible with the original but has these fixes and those absolutely necessary extensions which are proposed for adoption by the reference Core.  So that the Core is standard and libraries are pluggable.
> 
> It's more likely that this common core will come from Tango, since I've already done all the necessary work for this.  Stay tuned.

I'm really glad to hear that there is an actual core that can be standardized.  The sooner 'core' package is moved outside std and tango and declared standard, the better.
September 17, 2008
> Except for all the libraries that are developed for only one stdlib. And for library writers, it's hell for just that reason -- either you target one stdlib and exclude yourself from those who use the other, or you (god forbid) try to make your library work with _both_ stdlibs. It's a pointless bifurcation in the community.

agreed.


September 17, 2008
> It's more likely that this common core will come from Tango, since I've already done all the necessary work for this.  Stay tuned.
>
>
> Sean

Does the gc reside in the core?
Or better, what makes up the core?


September 17, 2008
Saaa wrote:
>> It's more likely that this common core will come from Tango, since I've
>> already done all the necessary work for this.  Stay tuned.
> 
> Does the gc reside in the core?
> Or better, what makes up the core? 

The GC, the compiler runtime, and some essential standard library code (thread support and exceptions, basically).  In Tango, these three components have no external compile-time dependencies and can actually be developed and built as separate standalone libraries.  Tango originally shipped this way, but it turned out to be too much for the average programmer so everything is now re-bundled into a single library for convenience (though the old standalone libraries are still built and then simply discarded).


Sean
September 17, 2008
Saaa Wrote:

> 
> > Except for all the libraries that are developed for only one stdlib. And for library writers, it's hell for just that reason -- either you target one stdlib and exclude yourself from those who use the other, or you (god forbid) try to make your library work with _both_ stdlibs. It's a pointless bifurcation in the community.
> 
> agreed.
> 

Agreed.

September 17, 2008
On Wed, Sep 17, 2008 at 12:39 PM, Rayne <DiscipleRayne@gmail.com> wrote:
> Saaa Wrote:
>
>>
>> > Except for all the libraries that are developed for only one stdlib. And for library writers, it's hell for just that reason -- either you target one stdlib and exclude yourself from those who use the other, or you (god forbid) try to make your library work with _both_ stdlibs. It's a pointless bifurcation in the community.
>>
>> agreed.
>>
>
> Agreed.

..wait.  I thought you said that "its [sic] a matter of choice, not like your [sic] really missing out on anything"?  Now you agree to the opposite?
September 17, 2008
On Wed, 17 Sep 2008 08:18:46 -0400, Rayne wrote:

> They both pretty much accomplish the same damned thing,
> I don't really understand what all his fuss is about.
> Use tango if you like it or use phobos, its a matter
> of choice, not like your really missing out on anything.

If you use Tango, you must use D1.

If you use Phobos, you can use either D1 or D2.

I have given u on serious D development until BOTH the standard library issue is resolved and the stability of D2 improves.

I want to use D2 and Tango. :-(

-- 
Derek Parnell
Melbourne, Australia
skype: derek.j.parnell