savannah-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-hackers] submission of Tenet (Container Library for Ada) - sav


From: nickroberts
Subject: [Savannah-hackers] submission of Tenet (Container Library for Ada) - savannah.nongnu.org
Date: Tue, 29 Jul 2003 14:47:03 -0400
User-agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 95; Supplied by blueyonder)

A package was submitted to savannah.nongnu.org
This mail was sent to address@hidden, address@hidden


Nick Roberts <address@hidden> 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/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]