emacs.d/clones/lisp/www.cs.cmu.edu/Groups/AI/html/cltl/clm/node103.html

48 lines
2.5 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Converted with LaTeX2HTML 0.6.5 (Tue Nov 15 1994) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE>9. Declarations</TITLE>
</HEAD>
<BODY>
<meta name="description" value=" Declarations">
<meta name="keywords" value="clm">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
<P>
<b>Common Lisp the Language, 2nd Edition</b>
<BR> <HR><A NAME=tex2html2804 HREF="node104.html"><IMG ALIGN=BOTTOM ALT="next" SRC="icons/next_motif.gif"></A> <A NAME=tex2html2802 HREF="clm.html"><IMG ALIGN=BOTTOM ALT="up" SRC="icons/up_motif.gif"></A> <A NAME=tex2html2796 HREF="node102.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="icons/previous_motif.gif"></A> <A NAME=tex2html2806 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="icons/contents_motif.gif"></A> <A NAME=tex2html2807 HREF="index.html"><IMG ALIGN=BOTTOM ALT="index" SRC="icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME=tex2html2805 HREF="node104.html"> Declaration Syntax</A>
<B>Up:</B> <A NAME=tex2html2803 HREF="clm.html">Common Lisp the Language</A>
<B> Previous:</B> <A NAME=tex2html2797 HREF="node102.html"> Environments</A>
<HR> <P>
<H1><A NAME=SECTION001300000000000000000>9. Declarations</A></H1>
<P>
<A NAME=DECLAR>
Declarations</A> allow you to specify extra information about your program
to the Lisp system. With one exception,
declarations are completely optional
and correct declarations do not affect the meaning
of a correct program. The exception is that
<tt>special</tt> declarations <i>do</i> affect the interpretation of variable
bindings and references and so <i>must</i> be specified where appropriate.
All other declarations are of an advisory nature, and may be used
by the Lisp system to aid the programmer by performing extra error checking
or producing more efficient compiled code. Declarations are also
a good way to add documentation to a program.
<P>
Note that it is considered an error for a program to violate a
declaration (such as a <tt>type</tt> declaration), but an implementation is
not required to detect such errors (though such detection, where
feasible, is to be encouraged).
<P>
<HR>
<UL>
<LI> <A NAME=tex2html2808 HREF="node104.html#SECTION001310000000000000000"> Declaration Syntax</A>
<LI> <A NAME=tex2html2809 HREF="node105.html#SECTION001320000000000000000"> Declaration Specifiers</A>
<LI> <A NAME=tex2html2810 HREF="node106.html#SECTION001330000000000000000"> Type Declaration for Forms</A>
</UL>
<HR>
<P><ADDRESS>
AI.Repository@cs.cmu.edu
</ADDRESS>
</BODY>