On Wed, 15 Jun 2011 10:38:28 -0400, Andrei Alexandrescu <[email protected]> wrote:

On 6/15/11 8:33 AM, Steven Schveighoffer wrote:
I can't really think of any other issues.

Allow me to repeat: the scheme as you mention it is unable to figure and load dependent remote libraries for remote libraries. It's essentially a flat scheme in which you know only the top remote library but nothing about the rest.

The dip takes care of that by using transitivity and by relying on the presence of dependency information exactly where it belongs - in the dependent source files. Separating that information from source files has two liabilities. First, it breaks the whole transitivity thing. Second, it adds yet another itsy-bitsy pellet of metadata/config/whatevs files that need to be minded. I just don't see the advantage of imposing that.

Yes, these are good points. But I think Dmitry brought up good points too (how do you specify that TreeMap.d needs to be compiled too?).

One possible solution is a central repository of code. So basically, you can depend on other projects as long as they are sanely namespaced and live under one include path.

I think dsource should provide something like this.  For example:

http://www.dsource.org/import

then if you wanted dcollections.TreeMap, the import would be:

http://www.dsource.org/import/dcollections/TreeMap.d

Of course, that still doesn't solve Dmitry's problem. We need to think of a way to do that too.

Still thinking....

-Steve

Reply via email to