[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/
- [Savannah-hackers] submission of Tenet (Container Library for Ada) - savannah.nongnu.org,
nickroberts <=