www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - A suggestion to D community

reply Yonggang Luo <luoyonggang gmail.com> writes:
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.
Sep 16 2008
next sibling parent reply Rayne <DiscipleRayne gmail.com> writes:
http://www.dsource.org/projects/tangobos

Tada!
Sep 16 2008
parent reply Yonggang Luo <luoyonggang gmail.com> writes:
Rayne Wrote:

 http://www.dsource.org/projects/tangobos
 
 Tada!
I know of that, but it's don't solve the fundamental problem. And it work separately. I means that the Tango group and Phobos group and other group can do some communication. Let's Tango and Phobos using the same runtime. And we create seperate project for Operating System Binding, And seperate project for language (such as c) binding. So every one just need to considerate the staff he focus on. Nowadays, Phobos and Tango have it's own binding. And phobos can't not working with tango officially. I means that the official group can do these things. And we create a project to collect all of these project to reduce the working of the D Programmer. They just need to download a single package and support tango and phobos offically. And these package also containg the runtime library for DMD, GDC, LLVMDC and so on. And these project will link the official runtime library of DMD,GDC,LLVMDC. If we do this, DMD, GDC, LLVMDC will create it's own runtime library. Because every compiler's runtime library is not the same. and A group do the effort for common part of the runtime library. And tango group just focus on the tango library, don't need to consider the dmd,gdc, llvmdc and so on. Like this, will reduce the repeatedly working. But this need all of us to do the effort.
Sep 16 2008
next sibling parent reply Rayne <DiscipleRayne gmail.com> writes:
Yonggang Luo Wrote:

 Rayne Wrote:
 
 http://www.dsource.org/projects/tangobos
 
 Tada!
I know of that, but it's don't solve the fundamental problem. And it work separately. I means that the Tango group and Phobos group and other group can do some communication. Let's Tango and Phobos using the same runtime. And we create seperate project for Operating System Binding, And seperate project for language (such as c) binding. So every one just need to considerate the staff he focus on. Nowadays, Phobos and Tango have it's own binding. And phobos can't not working with tango officially. I means that the official group can do these things. And we create a project to collect all of these project to reduce the working of the D Programmer. They just need to download a single package and support tango and phobos offically. And these package also containg the runtime library for DMD, GDC, LLVMDC and so on. And these project will link the official runtime library of DMD,GDC,LLVMDC. If we do this, DMD, GDC, LLVMDC will create it's own runtime library. Because every compiler's runtime library is not the same. and A group do the effort for common part of the runtime library. And tango group just focus on the tango library, don't need to consider the dmd,gdc, llvmdc and so on. Like this, will reduce the repeatedly working. But this need all of us to do the effort.
No one cares enough to, this has been suggested before, it's pretty much pointless.
Sep 16 2008
parent Yonggang Luo <luoyonggang gmail.com> writes:
Rayne Wrote:

 Yonggang Luo Wrote:
 
 Rayne Wrote:
 
 http://www.dsource.org/projects/tangobos
 
 Tada!
I know of that, but it's don't solve the fundamental problem. And it work separately. I means that the Tango group and Phobos group and other group can do some communication. Let's Tango and Phobos using the same runtime. And we create seperate project for Operating System Binding, And seperate project for language (such as c) binding. So every one just need to considerate the staff he focus on. Nowadays, Phobos and Tango have it's own binding. And phobos can't not working with tango officially. I means that the official group can do these things. And we create a project to collect all of these project to reduce the working of the D Programmer. They just need to download a single package and support tango and phobos offically. And these package also containg the runtime library for DMD, GDC, LLVMDC and so on. And these project will link the official runtime library of DMD,GDC,LLVMDC. If we do this, DMD, GDC, LLVMDC will create it's own runtime library. Because every compiler's runtime library is not the same. and A group do the effort for common part of the runtime library. And tango group just focus on the tango library, don't need to consider the dmd,gdc, llvmdc and so on. Like this, will reduce the repeatedly working. But this need all of us to do the effort.
No one cares enough to, this has been suggested before, it's pretty much pointless.
I understand what happend, It's seems that Phobos and Tango exist forver and never been working together officially. And if someone want to using D Programming Language to develop a project. He must make a choice, Tango or Phobos, Phobos or Tango. Maybe most of the people will choice of Tango, but the Phobos will be exist because it's comes from the officail site. If you want to using D Language, you must bear the fact that Phobos and Tango is not compatible, and it's seems they won't working together ever if we don't do some effort. As a D Language Programmer, you must be patient of you just can using a part of the D Library. Because some library is using Phobos and some is using Tango. Why they can't working together, everything is possible if you do it ! Why don't have a try. I don't think this is not a unsolvable problem! If everyone would rather bare of the actuality than do some effort, the D Language would never been a mainstream language. I think there is just a little problem about this, that is the Phobos and Tango do some communication, Phobos group do some concession and Tango do some concession then this two fundamental D library will working together fine. This is very important for the DEVELOPING of d programming language. I don't ever see a programming language have two fundamental library or two runtime library. But d have, I don't know why, but I think this will stop the D Programming Language to developing. excuse me, my engish not good, so if the meaning is not clear, please forgive me. But, the only one thing i want to say is, We don't need two(Phobos and Tango) fundamental(or runtime) library for D Programming Language. It's will stop the developing of D
Sep 16 2008
prev sibling parent reply "Bill Baxter" <wbaxter gmail.com> writes:
On Tue, Sep 16, 2008 at 11:07 PM, Yonggang Luo <luoyonggang gmail.com> wrote:
 Rayne Wrote:

 http://www.dsource.org/projects/tangobos

 Tada!
I know of that, but it's don't solve the fundamental problem. And it work separately. I means that the Tango group and Phobos group and other group can do some communication. Let's Tango and Phobos using the same runtime. And we create seperate project for Operating System Binding, And seperate project for language (such as c) binding. So every one just need to considerate the staff he focus on. Nowadays, Phobos and Tango have it's own binding. And phobos can't not working with tango officially. I means that the official group can do these things. And we create a project to collect all of these project to reduce the working of the D Programmer. They just need to download a single package and support tango and phobos offically. And these package also containg the runtime library for DMD, GDC, LLVMDC and so on. And these project will link the official runtime library of DMD,GDC,LLVMDC. If we do this, DMD, GDC, LLVMDC will create it's own runtime library. Because every compiler's runtime library is not the same. and A group do the effort for common part of the runtime library. And tango group just focus on the tango library, don't need to consider the dmd,gdc, llvmdc and so on. Like this, will reduce the repeatedly working. But this need all of us to do the effort.
This sounds like another flavor of the "mythical man-month" fallacy. The idea that if you just throw more people at a project it will succeed. First of all, you need people with very special skills to do the kinds of things you're asking people to do. Second even if you round those people up, they will all have day jobs, and other obligations, so you're going to get maybe a few hours a week out of most of them. One hour a week from 40 people is nothing like 40 hrs a week from one person. Third if they really believed what you are suggesting is a good idea, they would probably already be doing it. Fourth I'm not even really sure what is is you're asking people to do, and chances are that I'm not the only one who is thinking your plan is rather vague. What exactly does it mean to you to create a new "runtime" library? You mean like a competitor to Phobos and Tango? Creating a third runtime is the solution to too many runtimes? I just don't get it. --bb
Sep 16 2008
parent reply Sergey Gromov <snake.scaly gmail.com> writes:
Bill Baxter <wbaxter gmail.com> wrote:
 On Tue, Sep 16, 2008 at 11:07 PM, Yonggang Luo <luoyonggang gmail.com> wrote:
 Rayne Wrote:

 http://www.dsource.org/projects/tangobos

 Tada!
I know of that, but it's don't solve the fundamental problem. And it work separately. I means that the Tango group and Phobos group and other group can do some communication. Let's Tango and Phobos using the same runtime. And we create seperate project for Operating System Binding, And seperate project for language (such as c) binding. So every one just need to considerate the staff he focus on. Nowadays, Phobos and Tango have it's own binding. And phobos can't not working with tango officially. I means that the official group can do these things. And we create a project to collect all of these project to reduce the working of the D Programmer. They just need to download a single package and support tango and phobos offically. And these package also containg the runtime library for DMD, GDC, LLVMDC and so on. And these project will link the official runtime library of DMD,GDC,LLVMDC. If we do this, DMD, GDC, LLVMDC will create it's own runtime library. Because every compiler's runtime library is not the same. and A group do the effort for common part of the runtime library. And tango group just focus on the tango library, don't need to consider the dmd,gdc, llvmdc and so on. Like this, will reduce the repeatedly working. But this need all of us to do the effort.
This sounds like another flavor of the "mythical man-month" fallacy. The idea that if you just throw more people at a project it will succeed. First of all, you need people with very special skills to do the kinds of things you're asking people to do. Second even if you round those people up, they will all have day jobs, and other obligations, so you're going to get maybe a few hours a week out of most of them. One hour a week from 40 people is nothing like 40 hrs a week from one person. Third if they really believed what you are suggesting is a good idea, they would probably already be doing it. Fourth I'm not even really sure what is is you're asking people to do, and chances are that I'm not the only one who is thinking your plan is rather vague. What exactly does it mean to you to create a new "runtime" library? You mean like a competitor to Phobos and Tango? Creating a third runtime is the solution to too many runtimes? I just don't get it.
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. 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.
Sep 16 2008
next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Sergey Gromov wrote:
 Bill Baxter <wbaxter gmail.com> wrote:
 On Tue, Sep 16, 2008 at 11:07 PM, Yonggang Luo <luoyonggang gmail.com> wrote:
 Rayne Wrote:

 http://www.dsource.org/projects/tangobos

 Tada!
I know of that, but it's don't solve the fundamental problem. And it work separately. I means that the Tango group and Phobos group and other group can do some communication. Let's Tango and Phobos using the same runtime. And we create seperate project for Operating System Binding, And seperate project for language (such as c) binding. So every one just need to considerate the staff he focus on. Nowadays, Phobos and Tango have it's own binding. And phobos can't not working with tango officially. I means that the official group can do these things. And we create a project to collect all of these project to reduce the working of the D Programmer. They just need to download a single package and support tango and phobos offically. And these package also containg the runtime library for DMD, GDC, LLVMDC and so on. And these project will link the official runtime library of DMD,GDC,LLVMDC. If we do this, DMD, GDC, LLVMDC will create it's own runtime library. Because every compiler's runtime library is not the same. and A group do the effort for common part of the runtime library. And tango group just focus on the tango library, don't need to consider the dmd,gdc, llvmdc and so on. Like this, will reduce the repeatedly working. But this need all of us to do the effort.
This sounds like another flavor of the "mythical man-month" fallacy. The idea that if you just throw more people at a project it will succeed. First of all, you need people with very special skills to do the kinds of things you're asking people to do. Second even if you round those people up, they will all have day jobs, and other obligations, so you're going to get maybe a few hours a week out of most of them. One hour a week from 40 people is nothing like 40 hrs a week from one person. Third if they really believed what you are suggesting is a good idea, they would probably already be doing it. Fourth I'm not even really sure what is is you're asking people to do, and chances are that I'm not the only one who is thinking your plan is rather vague. What exactly does it mean to you to create a new "runtime" library? You mean like a competitor to Phobos and Tango? Creating a third runtime is the solution to too many runtimes? I just don't get it.
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. Sean
Sep 16 2008
next sibling parent Sergey Gromov <snake.scaly gmail.com> writes:
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.
Sep 17 2008
prev sibling parent reply "Saaa" <empty needmail.com> writes:
 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?
Sep 17 2008
parent Sean Kelly <sean invisibleduck.org> writes:
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
Sep 17 2008
prev sibling parent reply Yonggang Luo <luoyonggang gmail.com> writes:
Sergey Gromov Wrote:

 Bill Baxter <wbaxter gmail.com> wrote:
 On Tue, Sep 16, 2008 at 11:07 PM, Yonggang Luo <luoyonggang gmail.com> wrote:
 Rayne Wrote:

 http://www.dsource.org/projects/tangobos

 Tada!
I know of that, but it's don't solve the fundamental problem. And it work separately. I means that the Tango group and Phobos group and other group can do some communication. Let's Tango and Phobos using the same runtime. And we create seperate project for Operating System Binding, And seperate project for language (such as c) binding. So every one just need to considerate the staff he focus on. Nowadays, Phobos and Tango have it's own binding. And phobos can't not working with tango officially. I means that the official group can do these things. And we create a project to collect all of these project to reduce the working of the D Programmer. They just need to download a single package and support tango and phobos offically. And these package also containg the runtime library for DMD, GDC, LLVMDC and so on. And these project will link the official runtime library of DMD,GDC,LLVMDC. If we do this, DMD, GDC, LLVMDC will create it's own runtime library. Because every compiler's runtime library is not the same. and A group do the effort for common part of the runtime library. And tango group just focus on the tango library, don't need to consider the dmd,gdc, llvmdc and so on. Like this, will reduce the repeatedly working. But this need all of us to do the effort.
This sounds like another flavor of the "mythical man-month" fallacy. The idea that if you just throw more people at a project it will succeed. First of all, you need people with very special skills to do the kinds of things you're asking people to do. Second even if you round those people up, they will all have day jobs, and other obligations, so you're going to get maybe a few hours a week out of most of them. One hour a week from 40 people is nothing like 40 hrs a week from one person. Third if they really believed what you are suggesting is a good idea, they would probably already be doing it. Fourth I'm not even really sure what is is you're asking people to do, and chances are that I'm not the only one who is thinking your plan is rather vague. What exactly does it mean to you to create a new "runtime" library? You mean like a competitor to Phobos and Tango? Creating a third runtime is the solution to too many runtimes? I just don't get it.
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. 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.
Yes, it is. But I think the most important is that the Tango group and Phobos cooperate about the core. Because if the third one do this things would be very hard. Because of Phobos is in developing and Tango is in developing too. So if we seperate the core from Phobos and Tango, and then Phobos and Tango is based on the Core, then they can working together. This will be a great success in the D community.
Sep 16 2008
parent reply Graham St Jack <graham.stjack internode.on.net> writes:
 Yes, it is. But I think the most important is that the Tango group and
 Phobos cooperate about the core. Because if the third one do this things
 would be very hard. Because of Phobos is in developing and Tango is in
 developing too. So if we seperate the core from Phobos and Tango, and
 then Phobos and Tango is based on the Core, then they can working
 together. This will be a great success in the D community.
I absolutely agree. Having a single core is essential.
Sep 20 2008
parent reply "Chris R. Miller" <lordsauronthegreat gmail.com> writes:
Graham St Jack wrote:
 Yes, it is. But I think the most important is that the Tango group and
 Phobos cooperate about the core. Because if the third one do this things
 would be very hard. Because of Phobos is in developing and Tango is in
 developing too. So if we seperate the core from Phobos and Tango, and
 then Phobos and Tango is based on the Core, then they can working
 together. This will be a great success in the D community.
I absolutely agree. Having a single core is essential.
And this would give the opportunity to improve the core. For example, what about pluggable garbage collectors? So you could change the GC type, perhaps not at runtime, but at least have more say into the GC technique used. It might also give more people a chance to work on GC technique if it were an easy plugin architecture. I know I've felt the wanderlust to try my hand at GC programming. Disclaimer: I know next to nothing about GC implementation. Moving onward, that would also allow us to take parts of Phobos and Tango that coincide and put them into the new core, consolidating the implementations into one location, perhaps unifying the libraries in the distant future and ending the "Tango vs. Phobos" """"Discussions"""" once and for all? I am unsure, but it's a possibility to consider.
Sep 20 2008
parent Sean Kelly <sean invisibleduck.org> writes:
Chris R. Miller wrote:
 Graham St Jack wrote:
 Yes, it is. But I think the most important is that the Tango group and
 Phobos cooperate about the core. Because if the third one do this things
 would be very hard. Because of Phobos is in developing and Tango is in
 developing too. So if we seperate the core from Phobos and Tango, and
 then Phobos and Tango is based on the Core, then they can working
 together. This will be a great success in the D community.
I absolutely agree. Having a single core is essential.
And this would give the opportunity to improve the core. For example, what about pluggable garbage collectors? So you could change the GC type, perhaps not at runtime, but at least have more say into the GC technique used. It might also give more people a chance to work on GC technique if it were an easy plugin architecture. I know I've felt the wanderlust to try my hand at GC programming.
Already done in the Tango runtime. Pluggable at link-time, but I can't envision a reason to have dynamically pluggable GCs.
 Moving onward, that would also allow us to take parts of Phobos and 
 Tango that coincide and put them into the new core, consolidating the 
 implementations into one location, perhaps unifying the libraries in the 
 distant future and ending the "Tango vs. Phobos" """"Discussions"""" 
 once and for all?  I am unsure, but it's a possibility to consider.
Yup. Sean
Sep 20 2008
prev sibling parent reply "Chris R. Miller" <lordsauronthegreat gmail.com> writes:
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. 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!
Sep 16 2008
parent reply Don <nospam nospam.com.au> writes:
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!
Sep 17 2008
parent reply Rayne <DiscipleRayne gmail.com> writes:
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.
Sep 17 2008
next sibling parent reply "Jarrett Billingsley" <jarrett.billingsley gmail.com> writes:
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.
Sep 17 2008
next sibling parent reply "Saaa" <empty needmail.com> writes:
 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.
Sep 17 2008
parent reply Rayne <DiscipleRayne gmail.com> writes:
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.
Sep 17 2008
parent reply "Jarrett Billingsley" <jarrett.billingsley gmail.com> writes:
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?
Sep 17 2008
parent reply "Lionello Lunesu" <lionello lunesu.remove.com> writes:
"Jarrett Billingsley" <jarrett.billingsley gmail.com> wrote in message 
news:mailman.186.1221682076.19733.digitalmars-d puremagic.com...
 On Wed, Sep 17, 2008 at 12:39 PM, Rayne <DiscipleRayne gmail.com> wrote:
 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?
You've convinced him! Surprised by your own skills? L.
Sep 18 2008
parent "Jarrett Billingsley" <jarrett.billingsley gmail.com> writes:
On Thu, Sep 18, 2008 at 4:04 AM, Lionello Lunesu
<lionello lunesu.remove.com> wrote:
 "Jarrett Billingsley" <jarrett.billingsley gmail.com> wrote in message
 news:mailman.186.1221682076.19733.digitalmars-d puremagic.com...
 On Wed, Sep 17, 2008 at 12:39 PM, Rayne <DiscipleRayne gmail.com> wrote:
 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?
You've convinced him! Surprised by your own skills?
More along the lines of "first time I've ever seen anyone change their opinion on the internet" :P Unless it's just a simple mistake.
Sep 18 2008
prev sibling parent Graham St Jack <graham.stjack internode.on.net> writes:
On Wed, 17 Sep 2008 08:26:22 -0400, Jarrett Billingsley wrote:

 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.
agreed
Sep 20 2008
prev sibling parent Derek Parnell <derek psych.ward> writes:
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
Sep 17 2008