<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V@DTDVER@//EN"
          "@DTD@" [
  <!ENTITY % cl-entities SYSTEM "cl-ent.xml">
  %cl-entities;
  <!ENTITY % imp-entities SYSTEM "impent.xml">
  %imp-entities;
  <!ENTITY % unix-entities SYSTEM "unix-ent.xml">
  %unix-entities;
  <!ENTITY imp-body SYSTEM "impbody.xml">
  <!ENTITY imp-issues SYSTEM "impissue.xml">
  <!ENTITY imp-ext SYSTEM "impext.xml">
  <!ENTITY imp-byte SYSTEM "impbyte.xml">
  <!ENTITY dirkey SYSTEM "../modules/dirkey/dirkey.xml">
  <!ENTITY berkeley-db SYSTEM "../modules/berkeley-db/berkeley-db.xml">
  <!ENTITY netica SYSTEM "../modules/netica/netica.xml">
  <!ENTITY regexp SYSTEM "../modules/regexp/regexp.xml">
  <!ENTITY pcre SYSTEM "../modules/pcre/pcre.xml">
  <!ENTITY syscalls SYSTEM "../modules/syscalls/syscalls.xml">
  <!ENTITY gfdl-text SYSTEM "http://www.gnu.org/licenses/fdl.xml">
]>

<!-- *** Conventions: ***
 * function (car)      == function
 * variable (t)        == varname
 * formal arg (x)      == replaceable
 * keyword (:eof)      == constant
 * number (1.0)        == literal
 * char (#\a)          == keysym
 * class/type (t)      == classname (?type?)
 * format (~S)         == literal
 * lambda-key (&amp;)  == literal
 * declaration (ftype) == literal
 * package (CL-USER)   == quote role="package"
 a first mention of an object should be marked with <firstterm>
 -->

<book id="impnotes-top"><title>Implementation Notes for &gnu; &clisp;.</title>
<titleabbrev>&clisp; impnotes</titleabbrev>

<bookinfo id="book-info-title-page">
 <title>Implementation Notes for &gnu; &clisp;.</title>
 <subtitle>These notes document &clisp; version @VERSION@.</subtitle>
 <graphic srccredit="[CLISP icon]" align="center"
          fileref="clisp.png" width="48" depth="48"/>
 <date>Last modified: @TODAY@</date>
 <author id="bruno"><honorific>Dr</honorific> <firstname>Bruno</firstname>
  <surname>Haible</surname></author>
 <author id="sds"><honorific>Dr</honorific> <firstname>Sam</firstname>
  <surname>Steingold</surname></author>
 <authorblurb><para>Bugs in both these notes and &clisp; itself should
   be reported to the mailing list &clisp-list;.</para></authorblurb>
 <copyright><year>1992-2003</year><holder>Bruno Haible</holder></copyright>
 <copyright><year>1998-2003</year><holder>Sam Steingold</holder></copyright>

 <legalnotice id="legalese">
  <para>These notes are covered by the &gnu; &gfdl;:</para>
  <para>Permission is granted to copy, distribute and/or modify this
   document under the terms of the GNU Free Documentation License
   (&gfdl;), Version 1.2 or any later version published by the &fsf;;
   with no Invariant Sections,
   with no Front-Cover Text, and
   with no Back-Cover Texts.
   A copy of the license is included in the section entitled
   <link linkend="gfdl">"GNU Free Documentation License."</link></para>
 </legalnotice>
 <keywordset>
   <keyword>Lisp</keyword>
   <keyword>Common Lisp</keyword>
   <keyword>CLISP</keyword>
 </keywordset>
</bookinfo>

<preface id="preface"><title>Overview</title>

<para>These notes discuss the &clisp; implementation of &cl; by
<blockquote id="bruno-addr"><address>
 <honorific>Dr</honorific> <firstname>Bruno</firstname> <surname>Haible</surname>
 <street>Louisenstra&szlig;e 103</street>
 <city>Bad Homburg</city>
 <postcode>D-61348</postcode> <country>Germany</country>
 <otheraddr><ulink url="http://www.haible.de/bruno/">http://www.haible.de/bruno/</ulink></otheraddr>
</address></blockquote>
 and
<blockquote id="stoll-addr"><address>
 <honorific>Dr</honorific> <firstname>Michael</firstname> <surname>Stoll</surname>
 <street>Westerwaldweg 22</street>
 <city>Remagen-Oberwinter</city>
 <postcode>D-53424</postcode> <country>Germany</country>
 <otheraddr><ulink url="http://www.math.uni-duesseldorf.de/~stoll/">http://www.math.uni-duesseldorf.de/~stoll/</ulink></otheraddr>
</address></blockquote>
The current maintainers are
<blockquote id="bruno-addr1"><address>
  <honorific>Dr</honorific> <firstname>Bruno</firstname> <surname>Haible</surname>
</address></blockquote>
and
<blockquote id="sds-addr"><address>
  <honorific>Dr</honorific> <firstname>Sam</firstname> <surname>Steingold</surname>
  <otheraddr><ulink url="http://www.podval.org/~sds/">http://www.podval.org/~sds/</ulink></otheraddr>
</address></blockquote>
</para>

<para>This implementation is mostly conforming to the &ansi-cl;
 available on-line as the &hyperspec; (but the printed ANSI document
 remains the authoritative source of information).  &ansi-cl; supersedes
 the earlier specifications &cltl1; and &cltl2;.</para>

<para>The <link linkend="clhs-chapters">first part</link> of these notes
 is indexed in parallel to the &hyperspec; and documents how &clisp;
 implements the standard &ansi-cl;.</para>

<para>The <link linkend="extensions">second part</link> documents the
 &clisp; extensions, i.e., the functionality that goes beyond the
 &ansi-cl; requirements.</para>

<para>The <link linkend="internals">third part</link> is intended mostly
 for developers as it documents the &clisp; internals, e.g., &gc;ion,
 adding new built-ins, and the bytecodes generated by the compiler
 (i.e., what is printed by &disassemble;).</para>

</preface>

<part id="clhs-chapters"><title>Chapters or the &hyperspec;</title>

&imp-body;

&imp-issues;

</part>

&imp-ext;

&imp-byte;

&gfdl-text;

<index id="idx"/>

<bibliography id="references">
 <title>References</title>
 <bibliodiv id="ref-books"><title>Books</title>
  &cltl1-bib;
  &cltl2-bib;
  &amop-bib;
 </bibliodiv>
 <bibliodiv id="ref-ansi"><title>ANSI standard documents</title>
  &ansi-cl-bib;
  &hyperspec-bib;
 </bibliodiv>
</bibliography>

</book>
