A question about modules - suggestion for convention

Robert Fraser fraserofthenight at gmail.com
Wed Jun 13 11:52:48 PDT 2007


Hi Myron,

You can use DSSS without putting the library in the net repository. DSSS also has support for version statements, etc., and you can always have multiple copies of a library in DSSS, for different purposes.

As far as your other suggestion goes, have you checked out DDL (http://www.dsource.org/projects/ddl )? It's designed primarily around dynamic libraries, but the format certainly contains enough information for static linking. It would be great if the same format could be used for both static and dynamic linking, though exactly how this would work I can't imagine. The project looks dead, but I think pragma said he plans to get back to it once tango gets to 1.0.

Myron Alexander Wrote:

> Lutger wrote:
> > dsss is meant for this and I still think it fulfills it's purpose 
> > nicely. Rather than creating another convention, it is perhaps more 
> > effective to discuss what you find lacking in dsss and how to improve on 
> > that.
> > 
> > Keep in mind that dsss already does what you mentioned and a lot more 
> > too: install over the net (with automatic dependency installs), 
> > documentation generation with candydoc, pre- and post build steps... 
> > Only thing it doesn't do is hiding .di files for closed source 
> > distribution, but that will require another solution altogether.
> > 
> > I'm not used to Java style distribution, so I may miss something 
> > worthwhile here, but I find the D way not so problematic. It is 
> > certainly a lot better than C, and C++ too. This is largely because D 
> > has a true module system instead of text replacement, and tools like 
> > dsss, rebuild and bud are very good.
> 
> Lutger,
> 
> I have taken another look at DSSS. When I first looked at it, I was 
> sleep deprived so I did miss some things. Now I see that it does 
> something like I suggested and is better in the usual use-case but it 
> does not cover all the use-cases.
> 
> The problem with DSSS is that it ties you to the DSSS repository. Apart 
> from the fact that few libraries use it, it is intended, and designed, 
> around release libraries.
> 
> What about debug libraries? Also, how does it handle versioning, 
> specifically unreleased experimental versions that are distributed to a 
> few alpha/beta testers? What about libraries that have special build 
> conditions? Some example build conditions (outside of portability 
> issues): trial versions, lite versions (only core features), modular vs 
> monolithic versions, and so on. I'm not saying that DSSS cannot handle 
> those cases, I have yet to use it properly so I reserve my judgement, 
> but, from the documentation those are not the typical use-case scenarios.
> 
> My suggestion complements, rather than replaces, DSSS and could provide 
> that middle ground; might even make Gregor's life easier.
> 
> If I misunderstand something about DSSS, please correct me.
> 
> Best Regards,
> 
> Myron.
> dprogramming...myron...alexander...com
> replace the first ... with @, remove the second, and replace the third 
> with ".".




More information about the Digitalmars-d mailing list