A package was submitted to savannah.nongnu.org
This mail was sent to [EMAIL PROTECTED], [EMAIL PROTECTED]


Nick Roberts <[EMAIL PROTECTED]> described the package as follows:
License: other
Other License: The software will be released as source code only under the 
'GNAT-Modified GPL' (GM-GPL), which merely adds a permission to instantiate generic 
units to the GPL.

The documentation will be released under the FDL.

Package: Tenet (Container Library for Ada)
System name: tenet
Type: non-GNU

Description:
Container library for the Ada programming language: easy-to-use, well-integrated 
interface; all-purpose, adaptable algorithms; good documentation.

-----

This project will be for the development of a library of general-purpose 'container' 
abstract data types for the Ada programming language.

It will be written and distributed in the form of Ada source text, which should be 
directly portable to all Ada environments, normally without the need for any 
modifications at all. The user documentation will be supplied in HTML and SVG format; 
a text formatting system will be used to originate the documentation.

I have already developed a fairly extensive interface, and I have made a start on the 
implementations of two of the types ('lists' and 'lookups'). In addition, I have 
already developed a great deal of the user documentation. This is a project that will 
be able to 'hit the ground running'! Since, in fact, it has relatively unambitious and 
well-defined objectives, it should be a project that can get to a good version 1.0 
release quite quickly.

There are several container libraries already in existence for Ada. However, this 
project will be different in that it will place an emphasis on providing an extensive 
interface for each of a relatively small selection of container types, and providing 
an efficient and adaptable implementation for them all.

The types chosen will be the ones most commonly required in real programs. The 
interfaces will be designed to be as intuitive and easy to use and understand as 
possible, as well as harmonising as closely as possible with the relevant existing 
standard Ada libraries.

The biggest technical difficulty in creating this container library will be in 
implementing the complex algorithms for the two most important container types, the 
'list' and 'lookup'. I have gone to some lengths to develop new hybrid algorithms for 
these types, to provide implementations which can be easily adapted by the user to the 
trade-off required between memory parsimony and speed. One of the important aspects of 
this project will be the test suite, which will have to be designed to probe the 
implementations for weaknesses like an angry dentist.

In creating a container library that is genuinely useful to many programmers, the key 
ingredient, whose absence lets down far too many offerings, is the user documentation. 
I have already developed much of the user documentation for this project, and I have a 
very clear idea of the high standard of documentation required (examples, diagrams, 
and thorough indexing).

The one danger that a project of this kind does tend to to be subject to is of 
everybody having a different idea of what a container library should provide, and how 
it should provide it. Fortunately, I have already developed so much of the interface 
and documentation that the design phase is nearly finished anyway; my design is one 
possible 'style', but at least it is done.

The library will also include a number of other minor items of software, that are 
called upon by the major Tenet components, but which are general-purpose in nature, 
and so might as well be exposed to the user. These minor items will also be properly 
documented.

In providing a container library that is easy to use and understand, well documented, 
and efficient, this project will play to the strengths of the Ada programming 
language, and provide a unique facility that a great many Ada programmers should find 
invaluable in the development of a wide range of different kinds of software.


Other Software Required:
Only the standard Ada library; nothing else.


Other Comments:



_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
Savannah-hackers mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/savannah-hackers

Reply via email to