%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%A  about.tex           GAP documentation
%%
%A  @(#)$Id: about.tex,v 4.5 1999/05/26 17:25:52 ahulpke Exp $
%%
%Y  (C) 1998 School Math and Comp. Sci., University of St. Andrews, Scotland
%%
\Chapter{About Programming in GAP}

This is one of four parts of the {\GAP} documentation,
the others being
the *{\GAP} Tutorial*, a beginner's introduction to {\GAP},
the *{\GAP} Reference Manual*,
which contains the official definitions of {\GAP},
and *Extending {\GAP}*,
which explains how to create files and functions that will work
together with mechanisms built in {\GAP}, how to write documentation,
and so on.

This manual is divided into chapters.
Each chapter is divided into sections,
and within each section, important definitions are numbered.
References therefore are triples.

The chapters~"Method Selection" and "Creating New Objects" of this manual
describe how the knowledge about {\GAP} objects is used by the system,
via the so-called method selection mechanism,
and how such knowledge resp.~objects with such knowledge can be created.

Chapter~"Examples of Extending the System" gives some simple examples of how
to add new functionality to the system.

A more involved example for the design of new {\GAP} objects can be found in
Chapter~"An Example -- Residue Class Rings".
In particular,
see Sections~"A First Attempt to Implement Elements of Residue Class Rings"
and "Why Proceed in a Different Way?"
for finding out whether this manual is useful for you at all.
One more example is discussed in
Chapter~"An Example -- Designing Arithmetic Operations".

Pages are numbered consecutively in each of the four manuals.
For manual conventions, see Section~"ref:Manual Conventions"
in the Reference Manual.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%E

