Here are some guidelines for people interested in developing
Extreme Wave:

CVS conventions ======================================================

Please read the CVS tutorial at:
http://www.tiger-marmalade.com/~james/ewave/cvs.html

Coding standards =====================================================

Extreme Wave is not part of the GNU Project, but changes should
follow the GNU coding standards.  The standards are available via 
anonymous FTP from prep.ai.mit.edu, as /pub/gnu/standards/standards.texi 
and make-stds.texi.

Coding philosophy ====================================================

Extreme Wave is written in c++, which can be a bit of a two edged
sword.  The variety of c++ compilers and the degree to which they
comply to the ISO c++ standard is upsetting.  The Extreme Wave 
philosophy is to appeal (as much as is possible) to the least common 
denominator.  If a "c style" language construct can implement a
feature as literately and flexibly as a more "c++" style construct,
please use the "c style" feature.  In general, try not to use
templates, exceptions, or multiple inheritance.

User-visible changes are usually documented in the NEWS file,
but since Extreme Wave is not quite ready for end user consumption it
is enough to add an entry to the ChangeLog.  Please keep your
comments concise.

Documentation ========================================================

Extreme Wave is still fairly new, but it already has a large API
with a lot of tools.  But it's all useless if no one understands it
or knows how to use it.  Good documentation is just as important as 
good code.

Each object and every method should be documented in HTML.  See the
existing documentation for examples.


James Dean Palmer


