www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Unified Source Trees ?

reply Helmut Leitner <helmut.leitner wikiservice.at> writes:
This is a rough idea I'd like to discuss.

I think it would be nice if we 

  - had a quicker way to look at all the D code out there
  - had a way to share code more easily
  - had a better way to cooperate toward standard modules

So I suggest to dicuss building a system of unified D source code 
trees containing more or less all code that is open and shared:

  (droot\a) ... Phobos, Standard modules (Walter puts things here
                as official D standard library code)
  (droot\b) ... modules that have been peer-reviewed according to certain
                standards (one could also see this as a library module space)
  (droot\c) ... anyone can claim space for his modules or projects
                here. (one could also see this as a general project space)

(droot\a), (droot\b) and (droot\c) are just placeholders for
names that have to be invented eventually.

These trees could be held in a (maybe rsync) repository so
that anyone interested could get a copy of all relevant D code
with a single command. (the problem with cvs, svn is that AFAIK they
don't support tree structured user access rights)

The dmake utility is built to support sharing code without any 
additional work: executables built from import statements.

If dmd is configured to import from these three (or more) trees,
then any module move in vertical direction between the trees is 
transparent and should need no change of import statements.

Such a system should NOT be seen as an replacement for other systems
(private website, dsource, other repository) but an alternate way 
of publishing code that can reach a larger audience more quickly.

The system could encourage sharing of code, because (droot\c) should
be open for everyone. (droot\b) might be code that at least
two (three?) other community members have peer reviewed. This
should ensure quality without being a quality judgement

This system might help Walter, because he would only have to look at
peer-reviewed code to finally construct or select his standard modules.

What do you think?

-- 
Helmut Leitner    leitner hls.via.at
Graz, Austria   www.hls-software.com
Oct 10 2004
parent reply J C Calvarese <jcc7 cox.net> writes:
In article <416A264B.8E421A74 wikiservice.at>, Helmut Leitner says...
This is a rough idea I'd like to discuss.

I think it would be nice if we 

  - had a quicker way to look at all the D code out there
  - had a way to share code more easily
  - had a better way to cooperate toward standard modules

So I suggest to dicuss building a system of unified D source code 
trees containing more or less all code that is open and shared:

  (droot\a) ... Phobos, Standard modules (Walter puts things here
                as official D standard library code)
  (droot\b) ... modules that have been peer-reviewed according to certain
                standards (one could also see this as a library module space)
  (droot\c) ... anyone can claim space for his modules or projects
                here. (one could also see this as a general project space)

(droot\a), (droot\b) and (droot\c) are just placeholders for
names that have to be invented eventually.

I completely agree with the concept, but I'm not sure what you're proprosing specifically. Are you saying...? [Interpretation #1] dmd main.d -Idroot\a;droot\b;droot\c File droot\a\pkg1\mod1: module pkg1.mod1; [Interpretation #1] dmd main.d -Idroot File droot\a\pkg1\mod1: module a.pkg1.mod1; or are both of my interpretations wrong (it'd probably help my understanding if I've tried out dmake)... Justin C Calvarese (jcc7)
Oct 11 2004
next sibling parent J C Calvarese <jcc7 cox.net> writes:
In article <cke0ou$1c25$1 digitaldaemon.com>, J C Calvarese says...
In article <416A264B.8E421A74 wikiservice.at>, Helmut Leitner says...
This is a rough idea I'd like to discuss.

I think it would be nice if we 

  - had a quicker way to look at all the D code out there
  - had a way to share code more easily
  - had a better way to cooperate toward standard modules

So I suggest to dicuss building a system of unified D source code 
trees containing more or less all code that is open and shared:

  (droot\a) ... Phobos, Standard modules (Walter puts things here
                as official D standard library code)
  (droot\b) ... modules that have been peer-reviewed according to certain
                standards (one could also see this as a library module space)
  (droot\c) ... anyone can claim space for his modules or projects
                here. (one could also see this as a general project space)

(droot\a), (droot\b) and (droot\c) are just placeholders for
names that have to be invented eventually.

I completely agree with the concept, but I'm not sure what you're proprosing specifically. Are you saying...? [Interpretation #1] dmd main.d -Idroot\a;droot\b;droot\c File droot\a\pkg1\mod1: module pkg1.mod1; [Interpretation #1]

I guess I can't count.
dmd main.d -Idroot

File droot\a\pkg1\mod1:
module a.pkg1.mod1;


or are both of my interpretations wrong (it'd probably help my understanding if
I've tried out dmake)...

Justin C Calvarese (jcc7)

jcc7
Oct 11 2004
prev sibling parent Helmut Leitner <leitner hls.via.at> writes:
J C Calvarese wrote:
 [Interpretation #1]
 
 dmd main.d -Idroot\a;droot\b;droot\c
 
 File droot\a\pkg1\mod1:
 module pkg1.mod1;

That one, with "droot\a" comparable to a current DFLAGS="-I% P%\..\src\phobos" -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Oct 11 2004