\Header{representation}{Describe A Class Representation}
\keyword{programming}{representation}
\keyword{classes}{representation}
\begin{Description}\relax
Constructs a description of a class (without verifying the validity of
the description).  A convenience function in calls to
\code{\Link{setClass}}.\end{Description}
\begin{Usage}
\begin{verbatim}
representation(...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{...}] The call to representation takes arguments that are single character
strings.  Unnamed arguments are classes that a newly defined class
extends; named arguments name the explicit slots in the new class,
and specify what class each slot should have.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The \code{representation} function applies tests for the validity of
the arguments.  Each must specify the name of a class.

The classes named don't have to exist when \code{representation} is
called, but if they do, then the function will check for any duplicate
slot names introduced by each of the inherited classes.\end{Details}
\begin{Value}
The value is just the list of arguments, after these have been checked
for validity.\end{Value}
\begin{Author}\relax
John Chambers\end{Author}
\begin{References}\relax
The web page \url{http://www.omegahat.org/RSMethods/index.html}
is the primary documentation.

The functions in this package emulate the facility for classes
and methods described in \emph{Programming with Data} (John
M. Chambers, Springer, 1998).  See this book for further details and
examples.\end{References}
\begin{SeeAlso}\relax
\code{\Link{setClass}}\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
## representation for a new class with a directly define slot "smooth"
## which should be a "numeric" object, and extending class "track"
representation("track", smooth ="numeric")

\end{ExampleCode}
\end{Examples}

