Library standardization

Koroskin Denis 2korden at gmail.com
Fri Apr 18 14:58:54 PDT 2008


First of all, I don't want to start Tango vs. Phobos vs. ??? flame war.
But the way Tango or Phobos envolves is not the best one.

Current situation is, someone writes code, probably nice one, and it is  
added
to main trunk. Problem is, interface is implementation driven, not  
otherwise.
It is not discussed. And thats bad. Tests first, then code, Kent Beck said.
Of course, implementation can affect interface, but only after trial.

I mean, what we need is a detailed document (probably, wikified one) with
detailed library interfaces, their rationale, use cases, examples, stress
tests but NO implementation! Implementation is important, too, but only to  
end
users, and not for standardization. Reference implementation will follow, I
promise. It shouldn't be fast, it should be CORRECT and standard compliant  
in
the first place, and it should pass D Library Stress Test.

We need some kind of committee that would endorse that. And a separate  
newsgroup
section. Drafts should be stored in wiki.

As such, my suggestion is to revive digitalmars.dtl group!
The condition is it should be regularly monitored by Walter/Andrei or any  
other
person, that will be assigned for a duty.

We should discuss and answer the following questions:

- How DTL should be organized (bunch of files or structured like in  
Java/C#/Tango)?
- What modules should it consist of?
- What classes does it provide?
- What interfaces these classes expose?
- What feature set of D should it use?
- Templates vs. Object Oriented approach

The library should document all these. Extensive set of functional and  
unit tests should also be provided.
Reference implementation for D1/D2 will exist. However, library should be  
design driven, not implementation driven.

Any module/class/method should be removed if Walter is not satisfied with  
it.
Invariant should be held, that at any given moment Walter is satisfied  
with every piece of the library.

I believe this is the only way we can create single powerful standard  
library.



More information about the Digitalmars-d mailing list