A suggestion to D community

Chris R. Miller lordsauronthegreat at gmail.com
Tue Sep 16 10:49:22 PDT 2008


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 at 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.

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!



More information about the Digitalmars-d mailing list