<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://pdkb.chivanet.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DouglasRMiles</id>
		<title>Public Domain Knowledge Bank - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://pdkb.chivanet.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DouglasRMiles"/>
		<link rel="alternate" type="text/html" href="https://pdkb.chivanet.org/wiki/index.php/Special:Contributions/DouglasRMiles"/>
		<updated>2026-05-06T17:34:23Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>https://pdkb.chivanet.org/wiki/index.php?title=SubL&amp;diff=300</id>
		<title>SubL</title>
		<link rel="alternate" type="text/html" href="https://pdkb.chivanet.org/wiki/index.php?title=SubL&amp;diff=300"/>
				<updated>2017-04-17T09:59:48Z</updated>
		
		<summary type="html">&lt;p&gt;DouglasRMiles: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[|]]&lt;br /&gt;
&lt;br /&gt;
== [http://web.archive.org/web/20060325065433/http://www.opencyc.org [[File:/web/20060325065433im_/http://www.cyc.com/cycdoc/img/opencyc-logo-small.gif|OpenCyc.org Homepage]]]SubL Reference ==&lt;br /&gt;
&lt;br /&gt;
E-Mail Comments to: [http://web.archive.org/web/20060325065433/mailto:opencyc-doc@cyc.com opencyc-doc@cyc.com]&amp;lt;br /&amp;gt;&lt;br /&gt;
Last Update: 03/28/2002&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;CopyrightÂ© 1996-2002 [http://web.archive.org/web/20060325065433/http://www.cyc.com Cycorp]. All rights reserved.&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
= How to Use this Document =&lt;br /&gt;
&lt;br /&gt;
SubL is a computer language built by members of Cycorp. SubL was written to support the CycÂ® application, allowing it to run both under Lisp environments and as a C application generated by a SubL-to-C translator. This document describes the primitive functions of SubL.&lt;br /&gt;
&lt;br /&gt;
Due to the close similarities between SubL and Common Lisp, the [[#Table-of-Contents|Table of Contents]] and structure of this document intentionally mirror that of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;amp;quot;Common Lisp: The Language&amp;amp;quot;&amp;#039;&amp;#039;&amp;#039;,&amp;lt;br /&amp;gt;&lt;br /&gt;
2nd Edition,&amp;lt;br /&amp;gt;&lt;br /&gt;
Guy L. Steele Jr&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
making it easy to compare and contrast the two languages. For the most part, this document focuses only on the differences between SubL and Common Lisp.&lt;br /&gt;
&lt;br /&gt;
An online version of [http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/clm.html &amp;amp;quot;Common Lisp: The Language&amp;amp;quot;] can be found at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/clm.html &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;http://www.supelec.fr/docs/cltl/clm/clm.html&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;] **not working**&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
and an [http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html index to all Common Lisp functions] can be found at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;http://www.supelec.fr/docs/cltl/clm/index.html&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;] **this is working**&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Each section of this document contains a link labelled &amp;#039;&amp;#039;&amp;#039;&amp;amp;quot;CLtL2 Reference&amp;amp;quot;&amp;#039;&amp;#039;&amp;#039; to the corresponding sections of the above online Common Lisp reference. The reader is strongly encouraged to consult that reference in parallel with this document. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 1 : Introduction =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node5.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL is a programming language intended to be very similar to a simplified version of Common Lisp where those features that are either complex, rarely-used, or difficult to implement in a prodecural language have been excised.&lt;br /&gt;
&lt;br /&gt;
Unlike Common Lisp, SubL is not a purely functional language. Several SubL constructs can only be used procedurally. In order to emphasize this difference, the following naming convention for SubL constructs is used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;A SubL function will have the same name as the analogous Common Lisp function if it is intended to have the exact same basic functionality. The argument list may be simplified, but the intent and use are likely to be the same.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If there is a substantial behavioral difference between a SubL function and its Common Lisp counterpart, its name will be the Common Lisp name prepended with a single character -- either &amp;amp;quot;c&amp;amp;quot;, &amp;amp;quot;p&amp;amp;quot; or &amp;amp;quot;f&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;amp;quot;c&amp;amp;quot; indicates a construct that is either only procedural or functional.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;quot;p&amp;amp;quot; indicates the procedural version of a Common Lisp construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;quot;f&amp;amp;quot; indicates the functional version of a Common Lisp construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
A procedural construct in SubL is one which is suitable for evaluation as either one form in an explicit [[#FN-DEF-PROGN|&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;]] or as one form in an implicit progn, which occur in the &amp;lt;code&amp;gt;&amp;amp;amp;body;&amp;lt;/code&amp;gt; sections of many of the procedural forms such as [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]], [[#FN-DEF-PWHEN|&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]] etc.&lt;br /&gt;
&lt;br /&gt;
Here is a table of all the procedural constructs in SubL and the Common Lisp analog:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;SubL Procedural Construct&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common Lisp Equivalent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;progn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cond&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setq&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CINC&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;incf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDEC&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;decf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CPUSH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CPUSHNEW&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pushnew&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CPOP&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;let*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;multiple-value-bind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;do*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dolist&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
` `&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dotimes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
` `&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CCATCH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CUNWIND-PROTECT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unwind-protect&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;return-from&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
A functional construct in SubL is one which returns a value. Here is a table of all the functional constructs in SubL and the Common Lisp analog:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;SubL Functional Construct&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common Lisp Equvalent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CAND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;and&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;COR&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;or&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CNOT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;not&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The body of a function or macro definition is considered an implicit progn, and so all forms in the body should be procedural. A function call can be used as a procedural construct. In this case, the returned value is simply ignored. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 2 : Data Types =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node15.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL has a flat type heirarchy. Each type is described in more detail in the sections about the methods for that particular type.&lt;br /&gt;
&lt;br /&gt;
SubL supports these built-in Common Lisp datatypes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{|&lt;br /&gt;
| Numbers:&lt;br /&gt;
| fixnum&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| float&lt;br /&gt;
|-&lt;br /&gt;
| Symbols:&lt;br /&gt;
| symbol&lt;br /&gt;
|-&lt;br /&gt;
| Lists:&lt;br /&gt;
| cons&lt;br /&gt;
|-&lt;br /&gt;
| Arrays:&lt;br /&gt;
| vector&lt;br /&gt;
|-&lt;br /&gt;
| Characters:&lt;br /&gt;
| character&lt;br /&gt;
|-&lt;br /&gt;
| Strings:&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| Hashtables:&lt;br /&gt;
| eq hashtable&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| eql hashtable&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| equal hashtable&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| equalp hashtable&lt;br /&gt;
|-&lt;br /&gt;
| Streams:&lt;br /&gt;
| stream&lt;br /&gt;
|-&lt;br /&gt;
| Functions:&lt;br /&gt;
| function&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SubL does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; support these Common Lisp datatypes:&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Multi-dimensional arrays&amp;lt;br /&amp;gt;&lt;br /&gt;
Packages&amp;lt;br /&amp;gt;&lt;br /&gt;
Pathnames&amp;lt;br /&amp;gt;&lt;br /&gt;
Random-states&amp;lt;br /&amp;gt;&lt;br /&gt;
Lambda-Expressions or Closures&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
SubL has only special-case support for these datatypes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{|&lt;br /&gt;
| Readtables:&lt;br /&gt;
| SubL only supports a single internal readtable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
New data types can be introduced via [[#FN-DEF-DEFSTRUCT|&amp;lt;code&amp;gt;DEFSTRUCT&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 3 : Scope and Extent =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node43.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
Special variables in SubL are all (and only) those variables defined globally with [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] or [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]]. In addition, the name of each special variable must begin and end with an asterisk character : &amp;lt;code&amp;gt;&amp;#039;*&amp;#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Special variables have indefinite scope and dynamic extent. All other variables have lexical scope and dynamic extent&lt;br /&gt;
&lt;br /&gt;
Variables are introduced via:&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;Function call&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: A new set of variables for the formal parameters of the function are introduced. The extent of the function arguments is the duration of the function invocation.&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;[[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]], [[#FN-DEF-CMULTIPLE-VALUE-BIND|&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDESTRUCTURING-BIND|&amp;lt;code&amp;gt;CDESTRUCTURING-BIND&amp;lt;/code&amp;gt;]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: These constructs explicitly introduce and initialize new local variables. The extent of these variables is until exit from the constuct.&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;[[#FN-DEF-CDO|&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]], [[#FN-DEF-CSOME|&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOTIMES|&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOHASH|&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: These iteration constructs explicitly introduce and update local variables which represent the state of the iteration. The extent of these variables is until exit from the iteration construct.&lt;br /&gt;
&lt;br /&gt;
When a local variable is introduced with the same name as a local variable which is already within the current scope and extent, the new variable shadows the outer variable.&lt;br /&gt;
&lt;br /&gt;
The initialization of a local variable is considered to occur within the scope of the new local variable. Consequently, a variable which is shadowing an outer variable cannot be initialized in terms of the outer value. For example, this is not allowed :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(define foo (x)&lt;br /&gt;
  (clet ((x (+ x 1)))&lt;br /&gt;
    (print x))&lt;br /&gt;
  (ret nil))&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
However, if the variable is a special variable, the [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] is actually introducing a binding for the special variable, not introducing a new local variable. In this case, the initialization of the binding can be a function of its current value for the variable being bound. For example, this is allowed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(defvar *some-var* 1)&lt;br /&gt;
&lt;br /&gt;
(define foo (x)&lt;br /&gt;
  (clet ((*some-var* (+ *some-var* x)))&lt;br /&gt;
    (print *some-var*))&lt;br /&gt;
  (ret nil))&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The construct [[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] must be used for a function or macro definition to return its intended result. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 4 : Type Specifiers =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node44.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not support type specifiers. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 5 : Program Structure =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node55.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
Program structure in SubL mirrors that of Common Lisp almost exactly. All objects except lists and symbols are self-evaluating. This includes numbers, characters, strings, vectors and hashtables. In addition :&lt;br /&gt;
&lt;br /&gt;
* Keyword symbols are self-evaluating.&lt;br /&gt;
* The symbols T and NIL are self-evaluating.&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 5.3.1 : Defining Named Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node66.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFINE : (name arglist &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All functions in SubL must be named and therefore defined via the SubL construct [[#FN-DEF-DEFINE|&amp;lt;code&amp;gt;DEFINE&amp;lt;/code&amp;gt;]]. See also the similar construct [[#FN-DEF-DEFPOLYMORPHIC|&amp;lt;code&amp;gt;DEFPOLYMORPHIC&amp;lt;/code&amp;gt;]] which is used to define generic functions which switch off the type of the first argument.&lt;br /&gt;
&lt;br /&gt;
Argument lists for user-defined function can only be of this form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;( {var}* [&amp;amp;amp;optional; {var | ( var [initform [supplied-var]] ) }*] )&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In short, SubL supports &amp;lt;code&amp;gt;&amp;amp;amp;optional;&amp;lt;/code&amp;gt; arguments for user-defined functions but does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; support &amp;lt;code&amp;gt;&amp;amp;amp;keyword;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;amp;aux;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;amp;amp;rest;&amp;lt;/code&amp;gt; arguments for user-defined functions. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 5.3.2 : Declaring Global Variables and Named Constants ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node67.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFVAR : (variable &amp;amp;amp;optional initialization documentation)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFPARAMETER : (variable initialization &amp;amp;amp;optional documentation)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] and [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] are the SubL constructs used to define global variables. The name of each variable must begin and end with an asterisk.&lt;br /&gt;
&lt;br /&gt;
SubL enforces an important distinction between these two constructs, which is described in greater detail under [[#FN-DEF-WRITE-IMAGE|&amp;lt;code&amp;gt;WRITE-IMAGE&amp;lt;/code&amp;gt;]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFCONSTANT : (variable initialization &amp;amp;amp;optional documentation)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] and [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]], the name of each named constant defined via [[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] must begin and end with an asterisk. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 6 : Predicates =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node69.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.1 : Logical Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node70.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The symbols NIL and T are used to represent the logical values &amp;amp;quot;true&amp;amp;quot; and &amp;amp;quot;false&amp;amp;quot; in SubL and behave exactly as they do in Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.2.2 : Specific Data Type Predicates ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node73.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
For the most part, the following predicates which check for specific data types behave exactly as they do in Common Lisp.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NULL : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOLP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ATOM : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LISTP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUMBERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOATP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHARACTERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRINGP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTORP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTIONP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Follows the CLtL2 implementation&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTION-SPEC-P : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns T IFF x is an object suitable for FUNCALL&lt;br /&gt;
&lt;br /&gt;
In SubL, [[#FN-DEF-FUNCTIONP|&amp;lt;code&amp;gt;FUNCTIONP&amp;lt;/code&amp;gt;]] only returns T if its argument is a function object. The function [[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]] returns T if its argument is suitable for [[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] or [[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.3 : Equality Predicates ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node74.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The SubL equality predicates behave exactly like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQ : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQL : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQUAL : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQUALP : (x y)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.4 : Logical Operators ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node75.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL logical operations &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; return T or NIL. Otherwise, they behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CNOT : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CAND : (&amp;amp;amp;rest args)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;COR : (&amp;amp;amp;rest args)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 7 : Control Structure =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node76.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.1.1 : Reference ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node78.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
These SubL constructs behave exactly like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;QUOTE : (data)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FUNCTION : (fspec)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-VALUE : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-FUNCTION : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BOUNDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FBOUNDP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.1.2 : Assignment ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node79.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSETQ : (var value &amp;amp;amp;rest var-val-pairs)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since [[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] is procedural in SubL, it does not return a value. Otherwise, it behaves just like &amp;lt;code&amp;gt;setq&amp;lt;/code&amp;gt; in Common Lisp.&lt;br /&gt;
&lt;br /&gt;
These SubL functions for setting and unsetting symbol properties behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET : (symbol value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKUNBOUND : (symbol)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FMAKUNBOUND : (symbol)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.2 : Generalized Variables ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node80.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSETF : (place val)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] is a more restricted version of &amp;lt;code&amp;gt;setf&amp;lt;/code&amp;gt; in Common Lisp. First, since it is procedural, like [[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] it does not return a value. Second, there is a much more restricted set of place-specifiers which are allowable. Here is a complete table of the allowable [[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] forms, and their equivalent SubL expansions:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CSETF form&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equivalent SubL expansion&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; variable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETQ&amp;lt;/code&amp;gt; variable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-AREF|&amp;lt;code&amp;gt;AREF&amp;lt;/code&amp;gt;]] vector n&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SET-AREF&amp;lt;/code&amp;gt; vector n value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-NTH|&amp;lt;code&amp;gt;NTH&amp;lt;/code&amp;gt;]] n list&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SET-NTH&amp;lt;/code&amp;gt; n list value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-CAR|&amp;lt;code&amp;gt;CAR&amp;lt;/code&amp;gt;]] cons&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(RPLACA&amp;lt;/code&amp;gt; cons value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-CDR|&amp;lt;code&amp;gt;CDR&amp;lt;/code&amp;gt;]] cons&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(RPLACD&amp;lt;/code&amp;gt; cons value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-GET|&amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt;]] symbol indicator&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(PUT&amp;lt;/code&amp;gt; symbol indicator value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-GETHASH|&amp;lt;code&amp;gt;GETHASH&amp;lt;/code&amp;gt;]] key hashtable&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SETHASH&amp;lt;/code&amp;gt; key hashtable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-SYMBOL-VALUE|&amp;lt;code&amp;gt;SYMBOL-VALUE&amp;lt;/code&amp;gt;]] symbol&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SET&amp;lt;/code&amp;gt; symbol value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; (defstruct-slot object&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(set-defstruct-slot object value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above table, &amp;#039;&amp;#039;&amp;#039;defstruct-slot&amp;#039;&amp;#039;&amp;#039; refers to any structure slot accessor function which got defined via defstruct, and &amp;#039;&amp;#039;&amp;#039;set-defstruct-slot&amp;#039;&amp;#039;&amp;#039; refers to the corresponding setter function for the given accessor. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.3 : Function Invocation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node81.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
These functions behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPLY : (function argument &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCALL : (function &amp;amp;amp;rest args)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first argument to both [[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]] and [[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] must satisfy [[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.4 : Simple Sequencing ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node82.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PROGN : (&amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In SubL, [[#FN-DEF-PROGN|&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;]] is procedural and therefore does not return a value. Since it is intended to be essentially procedural in Common Lisp as well, the same name is used even though they have slightly different semantics. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.5 : Establishing New Variable Bindings ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node83.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CLET : (bindings &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SubL construct [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] can be used to introduce new local variables or bind special variables. The variables are initialized in order just like &amp;lt;code&amp;gt;LET*&amp;lt;/code&amp;gt; in Common Lisp. Since it is procedural, it does not return a value.&lt;br /&gt;
&lt;br /&gt;
SubL has no counterpart to Common Lisp&amp;#039;s &amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt; construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPROGV : (special-vars bindings &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-CPROGV|&amp;lt;code&amp;gt;CPROGV&amp;lt;/code&amp;gt;]] is procedural and therefore does not return a value. Otherwise, it is equivalent to &amp;lt;code&amp;gt;progv&amp;lt;/code&amp;gt; in Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.6 : Conditionals ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node84.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PIF : (condition action else-action)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PWHEN : (condition &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PUNLESS : (condition &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-PIF|&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;]], [[#FN-DEF-PWHEN|&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;]] and [[#FN-DEF-PUNLESS|&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt;]] are the SubL procedural variants of &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt; from Common Lisp. For each, the condition argument must be a functional construct. Also, [[#FN-DEF-PIF|&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;]] takes exactly three arguments, making the action and else-actions identical in form.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FIF : (condition true-value false-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FWHEN : (condition true-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FUNLESS : (condition false-value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-FIF|&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;]], [[#FN-DEF-FWHEN|&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;]] and [[#FN-DEF-FUNLESS|&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;]] are the SubL functional variants of &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt; from Common Lisp.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PCOND : (&amp;amp;amp;rest clauses)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PCASE : (test-object &amp;amp;amp;body clauses)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-PCOND|&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt;]] and [[#FN-DEF-PCASE|&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt;]] are the SubL procedural equivalents of &amp;lt;code&amp;gt;cond&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;case&amp;lt;/code&amp;gt; from Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.7 : Blocks and Exits ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node85.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;RET : (expression)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
SubL functions must always return a value, since C functions must return values and all SubL functions must translate into C.&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] is used to return a value from a function or macro definition. All functions and macro definitions behave as if an implicit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(ret nil)&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
appears at the very end of each function. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.2 : General Iteration ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node88.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDO : (vars endtest &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
cdo is procedural. It binds its variables in sequence, as with CommonLisp do* [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.3 : Simple Iteration Constructs ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node89.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOLIST : ((var listform) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSOME : ((var list endvar) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOTIMES : ((var integer) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOHASH : ((key val table) &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.4 : Mapping ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node90.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCAR : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPLIST : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPC : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPL : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCAN : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCON : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.10.1 : Constructs for Handling Multiple Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node94.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VALUES : (value &amp;amp;amp;rest more-values)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
values returns its args such that they can be bound in a dynamically enclosing multiple-value-bind. The first value is returned as well, since all SubL functions must return a value.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MULTIPLE-VALUES-LIMIT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;MULTIPLE-VALUE-LIST : (form)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND : (vars value &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.10.2 : Rules Governing the Passing of Multiple Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node95.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
In SubL, multiple values are governed the same way that they are in Common Lisp, except that if ANY of the return statements in your function are (values ...) then all of them must be. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.11 : Dynamic Non-Local Exits ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node96.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CCATCH : (tag ans-var &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
ccatch is procedural, and so does not return values.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CUNWIND-PROTECT : (protected-form &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;THROW : (tag result)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 8 : Macros =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node97.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.1 : Macro Definition ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node98.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFMACRO : (name pattern &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SubL Macros are expanded at translation-time. Full Common Lisp macro support is available. However, the macro-expander must use [[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] to return the expansion. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.3 : Destructuring ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node100.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDESTRUCTURING-BIND : (pattern datum &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.5 : Environments ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node102.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VARIABLE-INFORMATION : (variable)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTION-INFORMATION : (function)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 9 : Declarations =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node103.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 9.1 : Declaration Syntax ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node104.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DECLARE : (&amp;amp;amp;rest ignore)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PROCLAIM : (declaration-specifier)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DECLAIM : (&amp;amp;amp;rest declaration-specifiers)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 9.2 : Declaration Specifiers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node105.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;IGNORE : (&amp;amp;amp;rest values)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[#FN-DEF-IGNORE|&amp;lt;code&amp;gt;IGNORE&amp;lt;/code&amp;gt;]] function can be used to indicate that a particular variable&amp;#039;s value is not used. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 10 : Symbols =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node107.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOLP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.1 : The Property List ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node108.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET : (symbol indicator &amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PUT : (symbol indicator new-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMPROP : (symbol indicator)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-PLIST : (symbol)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.2 : The Print Name ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node109.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-NAME : (symbol)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the string which is the name of SYMBOL. When called on a keyword, it returns the &amp;amp;quot;:&amp;amp;quot; prefix as part of the name [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.3 : Creating Symbols ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node110.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-SYMBOL : (print-name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GENSYM : (&amp;amp;amp;optional x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
GENSYM returns new, interned symbols, which are combinations of a string prefix and a numeric suffix. It guarantees that the new symbol was not previously interned.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the argument X is a number, the gensym counter (used to generate the suffix) is set to X before the new symbol is generated.&amp;lt;br /&amp;gt;&lt;br /&gt;
if the argument X is a string, the gensym prefix is set to X before the new symbol is generated.&amp;lt;br /&amp;gt;&lt;br /&gt;
The initial gensym counter value is 1 and the initial gensym prefix is &amp;#039;G&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GENTEMP : (&amp;amp;amp;optional (prefix &amp;amp;quot;T&amp;amp;quot;))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;KEYWORDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In SubL, which does not have packages, keywords are any symbol whose name begins with &amp;amp;quot;:&amp;amp;quot; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 11 : Packages =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node111.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;IN-PACKAGE : (name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTERN : (string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Finds and returns a symbol whose name is STRING. INTERN will create the symbol if it does not exist. Unlike Common LISP intern, the SubL version does not allow an argument to specify the package, since SubL does not support packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND-SYMBOL : (string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Finds and returns a symbol whose name is STRING. Unlike Common LISP FIND-SYMBOL, the SubL version does not allow an argument to specify the package, since SubL does not support packages. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 12 : Numbers =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node121.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL only supports fixnums and floats. Fixnums have at least 28 bits of precision.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUMBERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIXNUMP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOATP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.2 : Predicates on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node123.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ZEROP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PLUSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MINUSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ODDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EVENP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.3 : Comparisons on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node124.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;/= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;lt; : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;gt; : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;lt;= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;gt;= : (num1 num2)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above numeric comparison functions take exactly 2 arguments, unlike their Common Lisp counterparts which take variable numbers of arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAX : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MIN : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.4 : Arithmetic Operations ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node125.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;+ : (&amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;- : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;* : (&amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;/ : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INT/ : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CINC : (place &amp;amp;amp;optional (delta 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDEC : (place &amp;amp;amp;optional (delta 1))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.5 : Irrational and Transcendental Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node126.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any irrational, transcendental or trigonometric functions. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.6 : Type Conversions and Component Extractions on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node130.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOAT : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOOR : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CEILING : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TRUNCATE : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ROUND : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MOD : (number divisor)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REM : (number divisor)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SCALE-FLOAT : (float integer)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGER-DECODE-FLOAT : (float)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.7 : Logical Operations on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node131.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any logical operations on numbers. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.8 : Byte Manipulation Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node132.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;BYTE : (size position)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LDB : (bytespec integer)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DPB : (newbyte bytespec integer)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.9 : Random Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node133.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*RAND-MAX*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*rand-max* is the largest fixnum that the function random can accept.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEED-RANDOM : (&amp;amp;amp;optional (seed-fixnum (mod (get-internal-real-time) *rand-max*)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If seed-fixnum is omitted to seed-random, the internal clock is used&amp;lt;br /&amp;gt;&lt;br /&gt;
in an implementation specific manner.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RANDOM : (number)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.10 : Implementation Parameters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node134.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MOST-POSITIVE-FIXNUM*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MOST-NEGATIVE-FIXNUM*&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 13 : Characters =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node135.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHARACTERP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.1 : Character Attributes ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node136.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any attributes for characters. A character exists for each ASCII character code between 0 and 255 inclusive. Thus, the SubL equivalent of Common Lisp&amp;#039;s &amp;lt;code&amp;gt;CHAR-CODE-LIMIT&amp;lt;/code&amp;gt; is 256. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.2 : Predicates on Characters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node137.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ALPHA-CHAR-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;UPPER-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LOWER-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BOTH-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DIGIT-CHAR-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ALPHANUMERICP : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR/= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;lt; : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;gt; : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;lt;= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;gt;= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-EQUAL : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-EQUAL : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-LESSP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-GREATERP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-GREATERP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-LESSP : (char1 char2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.3 : Character Construction and Selection ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node138.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-CODE : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CODE-CHAR : (code)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.4 : Character Conversions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node139.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-DOWNCASE : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-UPCASE : (char)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 14 : Sequences =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node141.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEQUENCEP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.1 : Simple Sequence Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node142.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ELT : (sequence index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSEQ : (sequence start &amp;amp;amp;optional end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-SEQ : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LENGTH : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REVERSE : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NREVERSE : (sequence)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.2 : Concatenating, Mapping and Reducing Sequences ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node143.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CCONCATENATE : (seq &amp;amp;amp;rest more-seqs)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CREDUCE : (function sequence &amp;amp;amp;optional (start 0) end (init-value :none))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.3 : Modifying Sequences ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node144.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILL : (sequence item &amp;amp;amp;optional (start 0) (end (length sequence)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REPLACE : (sequence1 sequence2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE : (item sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE-IF : (test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE : (item sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-IF : (test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE-DUPLICATES : (sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-DUPLICATES : (sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSTITUTE : (new old sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSTITUTE-IF : (new test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBSTITUTE : (new old sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBSTITUTE-IF : (new test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.4 : Searching Sequences for Terms ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node145.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;POSITION : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;POSITION-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COUNT : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COUNT-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MISMATCH : (seq1 seq2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEARCH : (seq1 seq2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.5 : Sorting and Merging ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node146.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SORT : (seq predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STABLE-SORT : (seq predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CMERGE : (seq1 seq2 predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 15 : Lists =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node147.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LISTP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ATOM : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.1 : Conses ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node148.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CAAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CADR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDDR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONS : (car cdr)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TREE-EQUAL : (tree1 tree2 &amp;amp;amp;optional (test #&amp;#039;eql))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.2 : Lists ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node149.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENDP : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST-LENGTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NTH : (n list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIRST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SECOND : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;THIRD : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FOURTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIFTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SIXTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEVENTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EIGHTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NINTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TENTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NTHCDR : (n list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST : (&amp;amp;amp;rest objects)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST* : (arg &amp;amp;amp;rest objects)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-LIST : (size &amp;amp;amp;optional initial-element)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPEND : (&amp;amp;amp;rest lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-LIST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-ALIST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-TREE : (tree)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REVAPPEND : (list1 list2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NCONC : (&amp;amp;amp;rest lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NRECONC : (list1 list2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPUSH : (item place)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPUSHNEW : (item place &amp;amp;amp;optional (test &amp;#039;#&amp;#039;eql) (key &amp;#039;#&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPOP : (place)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BUTLAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NBUTLAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LDIFF : (list sublist)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.3 : Alteration of List Structure ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node150.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RPLACA : (cons newcar)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RPLACD : (cons newcdr)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-NTH : (n list value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.4 : Substitution of Expressions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node151.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBST : (new old tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBST-IF : (new test tree &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBST : (new old tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBST-IF : (new test tree &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBLIS : (alist tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBLIS : (alist tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.5 : Using Lists as Sets ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node152.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MEMBER : (item list &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MEMBER-IF : (test list &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TAILP : (sublist list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ADJOIN : (item list &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;UNION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUNION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTERSECTION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NINTERSECTION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-DIFFERENCE : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSET-DIFFERENCE : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-EXCLUSIVE-OR : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSET-EXCLUSIVE-OR : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSETP : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.6 : Association Lists ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node153.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ACONS : (key datum alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PAIRLIS : (keys data &amp;amp;amp;optional alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ASSOC : (item alist &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ASSOC-IF : (predicate alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RASSOC : (item alist &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RASSOC-IF : (predicate alist)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 16 : Hash Tables =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node154.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 16.1 : Hash Table Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node155.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-HASH-TABLE : (size &amp;amp;amp;optional (test #&amp;#039;eql) (area default-cons-area))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;HASH-TABLE-P : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GETHASH : (key table &amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SETHASH : (key table value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMHASH : (key table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPHASH : (function table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CLRHASH : (table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;HASH-TABLE-COUNT : (table)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 16.2 : Primitive Hash Function ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node156.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SXHASH : (object)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 17 : Arrays =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node157.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL only supports one-dimensional arrays, which are called vectors.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTORP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 17.1 : Vector Creation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node158.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-VECTOR : (size &amp;amp;amp;optional initial-element)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTOR : (&amp;amp;amp;rest objects)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 17.2 : Vector Access ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node159.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;AREF : (vector index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-AREF : (vector index value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 18 : Strings =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node164.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRINGP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.1 : String Access ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node165.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR : (string index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-CHAR : (string index value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.2 : String Comparison ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node166.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-EQUAL : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;lt; : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;gt; : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;lt;= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;gt;= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING/= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-LESSP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-GREATERP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-GREATERP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-LESSP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-EQUAL : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.3 : String Construction and Manipulation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node167.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-STRING : (size &amp;amp;amp;optional (initial-element #\Space))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-LEFT-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-RIGHT-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-UPCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-DOWNCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-CAPITALIZE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-UPCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-DOWNCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-CAPITALIZE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 19 : Structures =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node168.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFSTRUCT : ((name &amp;amp;amp;rest options) &amp;amp;amp;body slots)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Like Common Lisp defstruct except:&amp;lt;br /&amp;gt;&lt;br /&gt;
(1) slot initializations are not allowed.&lt;br /&gt;
&lt;br /&gt;
(2) the only other options:&amp;lt;br /&amp;gt;&lt;br /&gt;
(:conc-name whatever)&amp;lt;br /&amp;gt;&lt;br /&gt;
(:print-function #&amp;#039;whatever)&lt;br /&gt;
&lt;br /&gt;
the default structure print function is&amp;lt;br /&amp;gt;&lt;br /&gt;
default-struct-print-function : object stream depth&lt;br /&gt;
&lt;br /&gt;
(3) The make constructor takes no arguments and only makes an empty structure.&lt;br /&gt;
&lt;br /&gt;
(4) Reading of structures is not supported by the reader.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEFAULT-STRUCT-PRINT-FUNCTION : (object stream depth)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PRINTING-OBJECT : ((object stream) &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 20 : The Evaluator =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node179.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 20.1 : Run-Time Evaluation of Forms ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node180.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EVAL : (form)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSTANTP : (object &amp;amp;amp;optional env)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Common Lisp functions &amp;lt;code&amp;gt;evalhook&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;applyhook&amp;lt;/code&amp;gt; are not supported in SubL. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 20.2 : The Top-Level Loop ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node181.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;***&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For convenience, the top-level readloop binds the following variables after each form is evaluated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;*  the last value returned&lt;br /&gt;
**  the previous value of *&lt;br /&gt;
*** the previous value of **&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 21 : Streams =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node182.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STREAMP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.1 : Standard Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node183.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*STANDARD-INPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*STANDARD-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*NULL-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
A bit-sink output stream. All output is ignored&lt;br /&gt;
&lt;br /&gt;
The other standard streams supported by Common Lisp are not supported by SubL. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.2 : Creating new Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node184.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-TCP-STREAM : (host port)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.3 : Operations on Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node185.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STREAMP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INPUT-STREAM-P : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OUTPUT-STREAM-P : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CLOSE : (stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 22 : Input/Output =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node186.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1 : Printed Representation of SubL Objects ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node187.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.3 : Macro Characters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node190.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The SubL reader supports the following macro characters, whose meaning is identical to their meaning in Common Lisp :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Macro Character&amp;#039;&amp;#039;&amp;#039; Â Â Â  &amp;#039;&amp;#039;&amp;#039;Reader Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(&amp;lt;/code&amp;gt; Begin reading a list. &amp;lt;code&amp;gt;)&amp;lt;/code&amp;gt; End reading a list or a vector. &amp;lt;code&amp;gt;&amp;#039;&amp;lt;/code&amp;gt; Read in a quoted expression. &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt; Read a comment until end-of-line. &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; Begin or end reading a string. &amp;lt;code&amp;gt;`&amp;lt;/code&amp;gt; Read in a backquoted expression.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In addition, the following comma-readers are supported inside of backquote :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;,  &lt;br /&gt;
,@  &lt;br /&gt;
,.&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Their behavior is identical to their Common Lisp counterparts. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.4 : Standard Dispatching Macro Character Syntax ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node191.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;#039;#&amp;#039;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; is the SubL standard dispatching macro character. The SubL reader supports the following dispatch macro character sequences, whose meanings are identical to their meanings in Common Lisp :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dispatch Sequence&amp;#039;&amp;#039;&amp;#039; Â Â Â  &amp;#039;&amp;#039;&amp;#039;Reader Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#\(&amp;lt;/code&amp;gt; Read a character constant. &amp;lt;code&amp;gt;#&amp;#039;&amp;lt;/code&amp;gt; Read a function constant. &amp;lt;code&amp;gt;#(&amp;lt;/code&amp;gt; Begin reading a vector. &amp;lt;code&amp;gt;#|&amp;lt;/code&amp;gt; Begin reading a comment section. &amp;lt;code&amp;gt;|#&amp;lt;/code&amp;gt; End reading a comment section.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Additionally, SubL supports the dispatch sequence &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;#$&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; as follows :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;#$foo&amp;lt;/code&amp;gt; reads the Cyc constant whose name is &amp;lt;code&amp;gt;&amp;amp;quot;foo&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.5 : The Readtable ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node192.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL internally uses a readtable, but it is not visible to the programmer. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.6 : What the Print Function Produces ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node193.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*PRINT-ESCAPE*&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.2.1 : Input from Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node195.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ : (&amp;amp;amp;optional (stream *standard-input*) (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns FORM if read was successful.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values NIL :ERROR if there was a reader error.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values EOF-VALUE :ERROR if EOF-ERROR-P is nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Causes an error if EOF-ERROR-P is not nil and EOF occurs.&lt;br /&gt;
&lt;br /&gt;
Differences from Common Lisp:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;`Numbers are only read in decimal notation with no specified radix.\&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;No character modifiers: only standard chars plus specials like Space, Return etc.\&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;The || notation and \\ syntax for symbols are not supported.\ \ []()function&amp;lt;/code&amp;gt;READ-LINE : (&amp;amp;amp;optional (stream &amp;#039;&amp;#039;standard-input&amp;#039;&amp;#039;) (eof-error-p t) (eof-value :eof))&amp;lt;code&amp;gt;\ \ []()function&amp;lt;/code&amp;gt;READ-CHAR : (&amp;amp;amp;optional (stream &amp;#039;&amp;#039;standard-input&amp;#039;&amp;#039;) (eof-error-p t) (eof-value :eof))&amp;lt;code&amp;gt;\ \ []()function&amp;lt;/code&amp;gt;UNREAD-CHAR : (char &amp;amp;amp;optional (stream &amp;#039;&amp;#039;standard-input&amp;#039;&amp;#039;))&amp;lt;code&amp;gt;\ \ []()function&amp;lt;/code&amp;gt;READ-FROM-STRING : (string &amp;amp;amp;optional (eof-error-p t) (eof-value :eof) (start 0) end)`&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values FORM NEW-START if read was successful.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values NIL :ERROR if there was a reader error.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values EOF-VALUE :ERROR if EOF-ERROR-P is nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Causes an error if EOF-ERROR-P is not nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns a second value which is an integer indicating the position in the string to&amp;lt;br /&amp;gt;&lt;br /&gt;
start reading from again or :ERROR if there was some kind of reader error. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.2.2 : Input from Binary Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node196.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ-BYTE : (stream &amp;amp;amp;optional (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.1 : Output to Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node198.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE : (object &amp;amp;amp;optional (stream *standard-output*) (escape *print-escape*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRIN1 : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINT : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINC : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-TO-STRING : (object &amp;amp;amp;optional (escape *print-escape*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRIN1-TO-STRING : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINC-TO-STRING : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-CHAR : (char &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-STRING : (string &amp;amp;amp;optional (stream *standard-output*) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-LINE : (string &amp;amp;amp;optional (stream *standard-output*) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TERPRI : (&amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORCE-OUTPUT : (&amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.2 : Output to Binary Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node199.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-BYTE : (integer stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.3 : Formatted Output to Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node200.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORMAT : (destination control-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Format ARGUMENTS to the text stream DESTINATION according to the specifications in CONTROL-STRING. SubL format is more limited than the Common Lisp version: the only escapes allowed in the control string are: ~A ~a ~S ~s ~D ~d (with width and pad parameters optional) ~C ~c ~G ~g ~% ~~ [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 23 : File System Interface =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node202.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.1 : File Names ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node203.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*DEFAULT-PATHNAME-DEFAULTS*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSTRUCT-FILENAME : (directory-list filename &amp;amp;amp;optional extension relative?)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pathnames are just strings in SubL. Common Lisp pathname objects are not supported. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.2 : Opening and Closing Files ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node215.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-TEXT : (filename direction)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Attempts to open the file FILENAME. If successful, returns an 8-bit character text stream. If DIRECTION is :input, then input operations can be performed on the stream. If DIRECTION is output, then output is directed to the file FILENAME, overwriting any existing file. If DIRECTION is :append, then output is appended to the file. For either output case, a new file is created if no file named FILENAME already exists.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-BINARY : (filename direction)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Attempts to open the file FILENAME. If successful, returns an 8-bit binary byte stream. If DIRECTION is :input, then input operations can be performed on the stream. If DIRECTION is output, then output is directed to the file FILENAME, overwriting any existing file. If DIRECTION is :append, then output is appended to the file. For either output case, a new file is created if no file named FILENAME already exists.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-TEXT-FILE : ((stream filestring direction) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In the scope of a WITH-TEXT-FILE expression, the file FILESTRING is opened for character i/o and a stream to this file is created and bound to the variable STREAM. If DIRECTION is :input, then input operations can be performed on STREAM. If DIRECTION is :output, then output operations can be performed, overwriting any existing file. If DIRECTION is :append, then output is appended to an existing file.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-BINARY-FILE : ((stream filestring direction) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In the scope of a WITH-BINARY-FILE expression, the file FILESTRING is opened for binary i/o and a stream to this file is created and bound to the variable STREAM. If DIRECTION is :input, then input operations can be performed on STREAM. If DIRECTION is :output, then output operations can be performed, overwriting any existing file. If DIRECTION is :append, then output is appended to an existing file. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.3 : Renaming, Deleting and Other File Operations ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node216.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RENAME-FILE : (filename new-name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-FILE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PROBE-FILE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPEND-FILES : (filename-1 filename-2 &amp;amp;amp;optional (mode :text))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Append filename-1 to filename-2&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-WRITE-DATE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-AUTHOR : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-FILE-POSITION : (stream)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-FILE-POSITION : (stream n)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-LENGTH : (stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.4 : Loading Files ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node217.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LOAD : (filename)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.5 : Accessing Directories ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node218.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DIRECTORY : (directory-name &amp;amp;amp;optional include-directory)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 24 : Errors =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node219.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 24.1 : General Error-Signalling Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node220.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-ABORT-HANDLER*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If *error-abort-handler* is non-nil, then an ABORT option is available inside ERROR and CERROR.&amp;lt;br /&amp;gt;&lt;br /&gt;
If chosen, then the handler is funcalled on no arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-HANDLER*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If *ERROR-SIGNAL* is non-nil, then that function is called upon an error. Otherwise, the debugger is invoked.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-MESSAGE*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ERROR : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*CONTINUE-CERROR?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CERROR : (continue-string format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-WARNS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If T, all warnings forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WARN : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-BREAKS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If non-NIL, all break forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BREAK : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 24.2 : Specialized Error-Signalling Forms and Macros ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node221.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-MUSTS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If non-NIL, all must forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;MUST : (form format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SUSPEND-TYPE-CHECKING?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
CHECK-TYPE tests are performed iff this is non-nil&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CHECK-TYPE : (object pred)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 25 : Miscellaneous Features =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node223.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.1 : The Compiler ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node224.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL currently does not provide any compilation support. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.3 : Debugging Tools ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node230.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CTIME : (var &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEBUG : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Pauses execution and invokes the debugger. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.4.1 : Time Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node232.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*EPOCH*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*epoch* is the current epoch in use, which is a universal time.&amp;lt;br /&amp;gt;&lt;br /&gt;
The system needs to at least be able to handle epochs back to midnight Jan 1 1970.&amp;lt;br /&amp;gt;&lt;br /&gt;
*epoch* is globally initialized to midnight Jan 1 1970.&amp;lt;br /&amp;gt;&lt;br /&gt;
All universal times are relative to *epoch*.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-UNIVERSAL-TIME : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DECODE-UNIVERSAL-TIME : (universal-time)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENCODE-UNIVERSAL-TIME : (second minute hour date month year)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIME-FROM-NOW : (delta)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIME-HAS-ARRIVED? : (time)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENCODE-TIMESTRING : (second minute hour date month year)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIMESTRING : (&amp;amp;amp;optional (universal-time (get-universal-time)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
timestring returns a string in the format dd/mm/yy hh:mm:ss from the&amp;lt;br /&amp;gt;&lt;br /&gt;
universal time given. If none is given, the current time is used.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*CLOCK-GRANULARITY*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*clock-granularity* is the number of internal clock units per second.&amp;lt;br /&amp;gt;&lt;br /&gt;
time evals form and returns the number of internal clock units it took&amp;lt;br /&amp;gt;&lt;br /&gt;
to execute.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-INTERNAL-REAL-TIME : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SLEEP : (seconds)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.5 : Identity Function ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node234.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;IDENTITY : (object)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 28 : Common Lisp Object System =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node260.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFPOLYMORPHIC : (name lambda-list &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Defines a new polymorphic function that dispatches on the type of its first argument. &amp;amp;lt;body&amp;amp;gt; defines a default method. The function define-method can be used to define additional methods. For example:&lt;br /&gt;
&lt;br /&gt;
(defpolymorphic test (a b)&amp;lt;br /&amp;gt;&lt;br /&gt;
` `(list a b))&lt;br /&gt;
&lt;br /&gt;
(define-method test ((a cons) b)&amp;lt;br /&amp;gt;&lt;br /&gt;
` `(cons b a))&lt;br /&gt;
&lt;br /&gt;
(define-method test ((a fixnum) b)&amp;lt;br /&amp;gt;&lt;br /&gt;
` `(+ a b))&lt;br /&gt;
&lt;br /&gt;
The defpolymorphic form defines the function TEST with a default method.&amp;lt;br /&amp;gt;&lt;br /&gt;
` `The two define-method forms specialize the behavior of TEST for lists and fixnums.&lt;br /&gt;
&lt;br /&gt;
(test &amp;#039;foo &amp;#039;bar) =&amp;amp;gt; (FOO BAR)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;`(test &amp;#039;(foo) &amp;#039;bar) =&amp;amp;amp;gt; (BAR FOO)\&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;(test 2 3) =&amp;amp;amp;gt; 5\ \ []()macro&amp;lt;/code&amp;gt;DEFINE-METHOD : (name lambda-list &amp;amp;amp;body body)`&amp;lt;br /&amp;gt;&lt;br /&gt;
Defines a method for the polymorphic function &amp;amp;lt;name&amp;amp;gt; that runs if&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;lt;dispatch-arg&amp;amp;gt; is of type &amp;amp;lt;type&amp;amp;gt;. The lambda list must have the same&amp;lt;br /&amp;gt;&lt;br /&gt;
structure as in the DEFPOLYMORPHIC call. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= SubL-Specific Features =&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.1 : Signals&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SIGNAL-MAX*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
There are *signal-max* total signals available.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEFAULT-SIGNAL-HANDLER : (signal)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INSTALL-SIGNAL-HANDLER : (signal function)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.2 : System Properties&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-PROCESS-ID : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Return the current heavyweight process id of this current SubL&amp;lt;br /&amp;gt;&lt;br /&gt;
program. Return DEFAULT if this cannot be determined.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-MACHINE-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-NETWORK-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-USER-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.3 : Progress Pacifiers&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SILENT-PROGRESS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-ACTIVITY : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-ACTIVITY : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-NUMERIC-PROGRESS : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-NUMERIC-PROGRESS : (num)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-PERCENT-PROGRESS : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-PERCENT-PROGRESS : (index max)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.4 : Process Manipulation&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORK-PROCESS : (function &amp;amp;amp;optional callback output-file)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Spawn a heavyweight child process to call FUNCTION, which takes no arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
FUNCTION must return an integer.&amp;lt;br /&amp;gt;&lt;br /&gt;
CALLBACK, if provided, must be a function of one argument which is called&amp;lt;br /&amp;gt;&lt;br /&gt;
on the returned value within the address space of the parent process.&amp;lt;br /&amp;gt;&lt;br /&gt;
OUTPUT-FILE, if provided, is a file to which standard output and error are piped&amp;lt;br /&amp;gt;&lt;br /&gt;
while executing FUNCTION.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RESTART-PROCESS : (&amp;amp;amp;optional world-spec init-file-pathname init-form-spec)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Restart the current heavyweight process.&amp;lt;br /&amp;gt;&lt;br /&gt;
WORLD-SPEC, if provided, is the filename of a world to use.&amp;lt;br /&amp;gt;&lt;br /&gt;
INIT-FILE-PATHNAME, if provided, is a file of initializatio forms to eval.&amp;lt;br /&amp;gt;&lt;br /&gt;
INIT-FORM-SPEC, if provided, is a form to execute.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values used for these when the current process was started are used if unprovided.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.5 : Memory Interaction&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GC : (&amp;amp;amp;optional level)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-STATIC-AREA : (&amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-IMAGE : (filename &amp;amp;amp;optional do-full-gc)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Save the current state of virtual memory in a file called FILENAME.&amp;lt;br /&amp;gt;&lt;br /&gt;
If DO-FULL-GC is true, then a full garbage collection is&amp;lt;br /&amp;gt;&lt;br /&gt;
performed before writing the image. Otherwise, a dynamic&amp;lt;br /&amp;gt;&lt;br /&gt;
garbage collection is performed and remaining objects are&amp;lt;br /&amp;gt;&lt;br /&gt;
promoted to being static ones.&lt;br /&gt;
&lt;br /&gt;
During the initialization of a SubL system at startup, variables defined via [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] have their initial values set via their state in the world file used at startup, ignoring the initial value specified by the code. [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] variables and [[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] global constants have their values initialized via the code on startup.&lt;br /&gt;
&lt;br /&gt;
The net result of this distinction is as follows: if a world is saved out via WRITE-IMAGE, and then used to restart a SubL system, the values of [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] variables will persist, while any changes to [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] variables will be lost when they are reset to their original code-specified initial values on startup. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= Index =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[#Index-A|A]] | [[#Index-B|B]] | [[#Index-C|C]] | [[#Index-D|D]] | [[#Index-E|E]] | [[#Index-F|F]] | [[#Index-G|G]] | [[#Index-H|H]] | [[#Index-I|I]] | [[#Index-J|J]] | [[#Index-K|K]] | [[#Index-L|L]] | [[#Index-M|M]] | [[#Index-N|N]] | [[#Index-O|O]] | [[#Index-P|P]] | [[#Index-Q|Q]] | [[#Index-R|R]] | [[#Index-S|S]] | [[#Index-T|T]] | [[#Index-U|U]] | [[#Index-V|V]] | [[#Index-W|W]] | [[#Index-X|X]] | [[#Index-Y|Y]] | [[#Index-Z|Z]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-1280|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1280|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-165120|&amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-21136640|&amp;lt;code&amp;gt;***&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1161467279|&amp;lt;code&amp;gt;*CLOCK-GRANULARITY*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1424597890|&amp;lt;code&amp;gt;*CONTINUE-CERROR?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-609384130|&amp;lt;code&amp;gt;*DEFAULT-PATHNAME-DEFAULTS*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-2020021124|&amp;lt;code&amp;gt;*EPOCH*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-860597104|&amp;lt;code&amp;gt;*ERROR-ABORT-HANDLER*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-354311860|&amp;lt;code&amp;gt;*ERROR-HANDLER*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1079241228|&amp;lt;code&amp;gt;*ERROR-MESSAGE*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-704643174|&amp;lt;code&amp;gt;*ERROR-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-204607828|&amp;lt;code&amp;gt;*IGNORE-BREAKS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-2065003033|&amp;lt;code&amp;gt;*IGNORE-MUSTS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1528898064|&amp;lt;code&amp;gt;*IGNORE-WARNS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1188374285|&amp;lt;code&amp;gt;*MOST-NEGATIVE-FIXNUM*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-113980253|&amp;lt;code&amp;gt;*MOST-POSITIVE-FIXNUM*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1624760991|&amp;lt;code&amp;gt;*MULTIPLE-VALUES-LIMIT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1405149315|&amp;lt;code&amp;gt;*NULL-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-313735324|&amp;lt;code&amp;gt;*PRINT-ESCAPE*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-430643141|&amp;lt;code&amp;gt;*RAND-MAX*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-371148559|&amp;lt;code&amp;gt;*SIGNAL-MAX*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-694198800|&amp;lt;code&amp;gt;*SILENT-PROGRESS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1112282190|&amp;lt;code&amp;gt;*STANDARD-INPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1982975489|&amp;lt;code&amp;gt;*STANDARD-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1570894042|&amp;lt;code&amp;gt;*SUSPEND-TYPE-CHECKING?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-+|&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF--|&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-/|&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-/=|&amp;lt;code&amp;gt;/=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-3584|&amp;lt;code&amp;gt;&amp;amp;lt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-462464|&amp;lt;code&amp;gt;&amp;amp;lt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-=|&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-3840|&amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-495232|&amp;lt;code&amp;gt;&amp;amp;gt;=&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== A ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ACONS|&amp;lt;code&amp;gt;ACONS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ADJOIN|&amp;lt;code&amp;gt;ADJOIN&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALERT-USER|&amp;lt;code&amp;gt;ALERT-USER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALPHA-CHAR-P|&amp;lt;code&amp;gt;ALPHA-CHAR-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALPHANUMERICP|&amp;lt;code&amp;gt;ALPHANUMERICP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPEND|&amp;lt;code&amp;gt;APPEND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPEND-FILES|&amp;lt;code&amp;gt;APPEND-FILES&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-AREF|&amp;lt;code&amp;gt;AREF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ASSOC|&amp;lt;code&amp;gt;ASSOC&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ASSOC-IF|&amp;lt;code&amp;gt;ASSOC-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ATOM|&amp;lt;code&amp;gt;ATOM&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== B ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BOTH-CASE-P|&amp;lt;code&amp;gt;BOTH-CASE-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BOUNDP|&amp;lt;code&amp;gt;BOUNDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BREAK|&amp;lt;code&amp;gt;BREAK&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BUTLAST|&amp;lt;code&amp;gt;BUTLAST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BYTE|&amp;lt;code&amp;gt;BYTE&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== C ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAAR|&amp;lt;code&amp;gt;CAAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CADR|&amp;lt;code&amp;gt;CADR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAND|&amp;lt;code&amp;gt;CAND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAR|&amp;lt;code&amp;gt;CAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CCATCH|&amp;lt;code&amp;gt;CCATCH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CCONCATENATE|&amp;lt;code&amp;gt;CCONCATENATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDAR|&amp;lt;code&amp;gt;CDAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDDR|&amp;lt;code&amp;gt;CDDR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDEC|&amp;lt;code&amp;gt;CDEC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDESTRUCTURING-BIND|&amp;lt;code&amp;gt;CDESTRUCTURING-BIND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDO|&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOHASH|&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOTIMES|&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDR|&amp;lt;code&amp;gt;CDR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CEILING|&amp;lt;code&amp;gt;CEILING&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CERROR|&amp;lt;code&amp;gt;CERROR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR|&amp;lt;code&amp;gt;CHAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-CODE|&amp;lt;code&amp;gt;CHAR-CODE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-DOWNCASE|&amp;lt;code&amp;gt;CHAR-DOWNCASE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-EQUAL|&amp;lt;code&amp;gt;CHAR-EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-GREATERP|&amp;lt;code&amp;gt;CHAR-GREATERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-LESSP|&amp;lt;code&amp;gt;CHAR-LESSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-EQUAL|&amp;lt;code&amp;gt;CHAR-NOT-EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-GREATERP|&amp;lt;code&amp;gt;CHAR-NOT-GREATERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-LESSP|&amp;lt;code&amp;gt;CHAR-NOT-LESSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-UPCASE|&amp;lt;code&amp;gt;CHAR-UPCASE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR/=|&amp;lt;code&amp;gt;CHAR/=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-137661468|&amp;lt;code&amp;gt;CHAR&amp;amp;lt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-440795332|&amp;lt;code&amp;gt;CHAR&amp;amp;lt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR=|&amp;lt;code&amp;gt;CHAR=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-137661724|&amp;lt;code&amp;gt;CHAR&amp;amp;gt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-440828100|&amp;lt;code&amp;gt;CHAR&amp;amp;gt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHARACTERP|&amp;lt;code&amp;gt;CHARACTERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHECK-TYPE|&amp;lt;code&amp;gt;CHECK-TYPE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CINC|&amp;lt;code&amp;gt;CINC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLOSE|&amp;lt;code&amp;gt;CLOSE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLRHASH|&amp;lt;code&amp;gt;CLRHASH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CMERGE|&amp;lt;code&amp;gt;CMERGE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CMULTIPLE-VALUE-BIND|&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CNOT|&amp;lt;code&amp;gt;CNOT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CODE-CHAR|&amp;lt;code&amp;gt;CODE-CHAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONS|&amp;lt;code&amp;gt;CONS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSP|&amp;lt;code&amp;gt;CONSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSTANTP|&amp;lt;code&amp;gt;CONSTANTP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSTRUCT-FILENAME|&amp;lt;code&amp;gt;CONSTRUCT-FILENAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-ALIST|&amp;lt;code&amp;gt;COPY-ALIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-LIST|&amp;lt;code&amp;gt;COPY-LIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-SEQ|&amp;lt;code&amp;gt;COPY-SEQ&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-TREE|&amp;lt;code&amp;gt;COPY-TREE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COR|&amp;lt;code&amp;gt;COR&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COUNT|&amp;lt;code&amp;gt;COUNT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COUNT-IF|&amp;lt;code&amp;gt;COUNT-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPOP|&amp;lt;code&amp;gt;CPOP&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPROGV|&amp;lt;code&amp;gt;CPROGV&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPUSH|&amp;lt;code&amp;gt;CPUSH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPUSHNEW|&amp;lt;code&amp;gt;CPUSHNEW&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CREDUCE|&amp;lt;code&amp;gt;CREDUCE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSOME|&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CTIME|&amp;lt;code&amp;gt;CTIME&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CUNWIND-PROTECT|&amp;lt;code&amp;gt;CUNWIND-PROTECT&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== D ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEBUG|&amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECLAIM|&amp;lt;code&amp;gt;DECLAIM&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECLARE|&amp;lt;code&amp;gt;DECLARE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECODE-UNIVERSAL-TIME|&amp;lt;code&amp;gt;DECODE-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFAULT-SIGNAL-HANDLER|&amp;lt;code&amp;gt;DEFAULT-SIGNAL-HANDLER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFAULT-STRUCT-PRINT-FUNCTION|&amp;lt;code&amp;gt;DEFAULT-STRUCT-PRINT-FUNCTION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFINE|&amp;lt;code&amp;gt;DEFINE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFINE-METHOD|&amp;lt;code&amp;gt;DEFINE-METHOD&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFMACRO|&amp;lt;code&amp;gt;DEFMACRO&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFPOLYMORPHIC|&amp;lt;code&amp;gt;DEFPOLYMORPHIC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFSTRUCT|&amp;lt;code&amp;gt;DEFSTRUCT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE|&amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-DUPLICATES|&amp;lt;code&amp;gt;DELETE-DUPLICATES&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-FILE|&amp;lt;code&amp;gt;DELETE-FILE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-IF|&amp;lt;code&amp;gt;DELETE-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DIGIT-CHAR-P|&amp;lt;code&amp;gt;DIGIT-CHAR-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DIRECTORY|&amp;lt;code&amp;gt;DIRECTORY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DPB|&amp;lt;code&amp;gt;DPB&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== E ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EIGHTH|&amp;lt;code&amp;gt;EIGHTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ELT|&amp;lt;code&amp;gt;ELT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENCODE-TIMESTRING|&amp;lt;code&amp;gt;ENCODE-TIMESTRING&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENCODE-UNIVERSAL-TIME|&amp;lt;code&amp;gt;ENCODE-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENDP|&amp;lt;code&amp;gt;ENDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQ|&amp;lt;code&amp;gt;EQ&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQL|&amp;lt;code&amp;gt;EQL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQUAL|&amp;lt;code&amp;gt;EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQUALP|&amp;lt;code&amp;gt;EQUALP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ERROR|&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EVAL|&amp;lt;code&amp;gt;EVAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EVENP|&amp;lt;code&amp;gt;EVENP&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== F ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FBOUNDP|&amp;lt;code&amp;gt;FBOUNDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIF|&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIFTH|&amp;lt;code&amp;gt;FIFTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-AUTHOR|&amp;lt;code&amp;gt;FILE-AUTHOR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-LENGTH|&amp;lt;code&amp;gt;FILE-LENGTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-WRITE-DATE|&amp;lt;code&amp;gt;FILE-WRITE-DATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILL|&amp;lt;code&amp;gt;FILL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND|&amp;lt;code&amp;gt;FIND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND-IF|&amp;lt;code&amp;gt;FIND-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND-SYMBOL|&amp;lt;code&amp;gt;FIND-SYMBOL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIRST|&amp;lt;code&amp;gt;FIRST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIXNUMP|&amp;lt;code&amp;gt;FIXNUMP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOAT|&amp;lt;code&amp;gt;FLOAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOATP|&amp;lt;code&amp;gt;FLOATP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOOR|&amp;lt;code&amp;gt;FLOOR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FMAKUNBOUND|&amp;lt;code&amp;gt;FMAKUNBOUND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORCE-OUTPUT|&amp;lt;code&amp;gt;FORCE-OUTPUT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORK-PROCESS|&amp;lt;code&amp;gt;FORK-PROCESS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORMAT|&amp;lt;code&amp;gt;FORMAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FOURTH|&amp;lt;code&amp;gt;FOURTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION|&amp;lt;code&amp;gt;FUNCTION&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION-INFORMATION|&amp;lt;code&amp;gt;FUNCTION-INFORMATION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTIONP|&amp;lt;code&amp;gt;FUNCTIONP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNLESS|&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FWHEN|&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== G ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GC|&amp;lt;code&amp;gt;GC&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GENSYM|&amp;lt;code&amp;gt;GENSYM&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GENTEMP|&amp;lt;code&amp;gt;GENTEMP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET|&amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-CONSING-STATE|&amp;lt;code&amp;gt;GET-CONSING-STATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-FILE-POSITION|&amp;lt;code&amp;gt;GET-FILE-POSITION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-INTERNAL-REAL-TIME|&amp;lt;code&amp;gt;GET-INTERNAL-REAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-MACHINE-NAME|&amp;lt;code&amp;gt;GET-MACHINE-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-NETWORK-NAME|&amp;lt;code&amp;gt;GET-NETWORK-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-PROCESS-ID|&amp;lt;code&amp;gt;GET-PROCESS-ID&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-STRING-FROM-USER|&amp;lt;code&amp;gt;GET-STRING-FROM-USER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-UNIVERSAL-TIME|&amp;lt;code&amp;gt;GET-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-USER-NAME|&amp;lt;code&amp;gt;GET-USER-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GETHASH|&amp;lt;code&amp;gt;GETHASH&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== H ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-HASH-TABLE-COUNT|&amp;lt;code&amp;gt;HASH-TABLE-COUNT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-HASH-TABLE-P|&amp;lt;code&amp;gt;HASH-TABLE-P&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== I ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IDENTITY|&amp;lt;code&amp;gt;IDENTITY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IGNORE|&amp;lt;code&amp;gt;IGNORE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IN-PACKAGE|&amp;lt;code&amp;gt;IN-PACKAGE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INPUT-STREAM-P|&amp;lt;code&amp;gt;INPUT-STREAM-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INSTALL-SIGNAL-HANDLER|&amp;lt;code&amp;gt;INSTALL-SIGNAL-HANDLER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INT/|&amp;lt;code&amp;gt;INT/&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTEGER-DECODE-FLOAT|&amp;lt;code&amp;gt;INTEGER-DECODE-FLOAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTEGERP|&amp;lt;code&amp;gt;INTEGERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTERN|&amp;lt;code&amp;gt;INTERN&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTERSECTION|&amp;lt;code&amp;gt;INTERSECTION&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== J ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== K ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-KEYWORDP|&amp;lt;code&amp;gt;KEYWORDP&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== L ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LAST|&amp;lt;code&amp;gt;LAST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LDB|&amp;lt;code&amp;gt;LDB&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LDIFF|&amp;lt;code&amp;gt;LDIFF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LENGTH|&amp;lt;code&amp;gt;LENGTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LIST|&amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-443877220|&amp;lt;code&amp;gt;LIST*&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LIST-LENGTH|]]&amp;lt;code&amp;gt;LIST-LENGTH&amp;lt;/code&amp;gt; function function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LISTP|]]&amp;lt;code&amp;gt;LISTP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOAD|]]&amp;lt;code&amp;gt;LOAD&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOG-MESSAGE|]]&amp;lt;code&amp;gt;LOG-MESSAGE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOWER-CASE-P|]]&amp;lt;code&amp;gt;LOWER-CASE-P&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== M ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-HASH-TABLE|]]&amp;lt;code&amp;gt;MAKE-HASH-TABLE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-LIST|]]&amp;lt;code&amp;gt;MAKE-LIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-STRING|]]&amp;lt;code&amp;gt;MAKE-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-SYMBOL|]]&amp;lt;code&amp;gt;MAKE-SYMBOL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-VECTOR|]]&amp;lt;code&amp;gt;MAKE-VECTOR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKUNBOUND|]]&amp;lt;code&amp;gt;MAKUNBOUND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPC|]]&amp;lt;code&amp;gt;MAPC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCAN|]]&amp;lt;code&amp;gt;MAPCAN&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCAR|]]&amp;lt;code&amp;gt;MAPCAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCON|]]&amp;lt;code&amp;gt;MAPCON&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPHASH|]]&amp;lt;code&amp;gt;MAPHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPL|]]&amp;lt;code&amp;gt;MAPL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPLIST|]]&amp;lt;code&amp;gt;MAPLIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAX|]]&amp;lt;code&amp;gt;MAX&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MEMBER|]]&amp;lt;code&amp;gt;MEMBER&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MEMBER-IF|]]&amp;lt;code&amp;gt;MEMBER-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MIN|]]&amp;lt;code&amp;gt;MIN&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MINUSP|]]&amp;lt;code&amp;gt;MINUSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MISMATCH|]]&amp;lt;code&amp;gt;MISMATCH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MOD|]]&amp;lt;code&amp;gt;MOD&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MULTIPLE-VALUE-LIST|]]&amp;lt;code&amp;gt;MULTIPLE-VALUE-LIST&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MUST|]]&amp;lt;code&amp;gt;MUST&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== N ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NBUTLAST|]]&amp;lt;code&amp;gt;NBUTLAST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NCONC|]]&amp;lt;code&amp;gt;NCONC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NINTERSECTION|]]&amp;lt;code&amp;gt;NINTERSECTION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NINTH|]]&amp;lt;code&amp;gt;NINTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-ACTIVITY|]]&amp;lt;code&amp;gt;NOTE-ACTIVITY&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-NUMERIC-PROGRESS|]]&amp;lt;code&amp;gt;NOTE-NUMERIC-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-PERCENT-PROGRESS|]]&amp;lt;code&amp;gt;NOTE-PERCENT-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTIFY-USER|]]&amp;lt;code&amp;gt;NOTIFY-USER&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-ACTIVITY|]]&amp;lt;code&amp;gt;NOTING-ACTIVITY&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-NUMERIC-PROGRESS|]]&amp;lt;code&amp;gt;NOTING-NUMERIC-PROGRESS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-PERCENT-PROGRESS|]]&amp;lt;code&amp;gt;NOTING-PERCENT-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NRECONC|]]&amp;lt;code&amp;gt;NRECONC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NREVERSE|]]&amp;lt;code&amp;gt;NREVERSE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSET-DIFFERENCE|]]&amp;lt;code&amp;gt;NSET-DIFFERENCE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSET-EXCLUSIVE-OR|]]&amp;lt;code&amp;gt;NSET-EXCLUSIVE-OR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-CAPITALIZE|]]&amp;lt;code&amp;gt;NSTRING-CAPITALIZE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-DOWNCASE|]]&amp;lt;code&amp;gt;NSTRING-DOWNCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-UPCASE|]]&amp;lt;code&amp;gt;NSTRING-UPCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBLIS|]]&amp;lt;code&amp;gt;NSUBLIS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBST|]]&amp;lt;code&amp;gt;NSUBST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBST-IF|]]&amp;lt;code&amp;gt;NSUBST-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBSTITUTE|]]&amp;lt;code&amp;gt;NSUBSTITUTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBSTITUTE-IF|]]&amp;lt;code&amp;gt;NSUBSTITUTE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NTH|]]&amp;lt;code&amp;gt;NTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NTHCDR|]]&amp;lt;code&amp;gt;NTHCDR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NULL|]]&amp;lt;code&amp;gt;NULL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NUMBERP|]]&amp;lt;code&amp;gt;NUMBERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NUNION|]]&amp;lt;code&amp;gt;NUNION&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== O ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ODDP|]]&amp;lt;code&amp;gt;ODDP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-BINARY|]]&amp;lt;code&amp;gt;OPEN-BINARY&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-TCP-STREAM|]]&amp;lt;code&amp;gt;OPEN-TCP-STREAM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-TEXT|]]&amp;lt;code&amp;gt;OPEN-TEXT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OUTPUT-STREAM-P|]]&amp;lt;code&amp;gt;OUTPUT-STREAM-P&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== P ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PAIRLIS|]]&amp;lt;code&amp;gt;PAIRLIS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PCASE|]]&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PCOND|]]&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PIF|]]&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PLUSP|]]&amp;lt;code&amp;gt;PLUSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-POSITION|]]&amp;lt;code&amp;gt;POSITION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-POSITION-IF|]]&amp;lt;code&amp;gt;POSITION-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRIN1|]]&amp;lt;code&amp;gt;PRIN1&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRIN1-TO-STRING|]]&amp;lt;code&amp;gt;PRIN1-TO-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINC|]]&amp;lt;code&amp;gt;PRINC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINC-TO-STRING|]]&amp;lt;code&amp;gt;PRINC-TO-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINT|]]&amp;lt;code&amp;gt;PRINT&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINTING-OBJECT|]]&amp;lt;code&amp;gt;PRINTING-OBJECT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROBE-FILE|]]&amp;lt;code&amp;gt;PROBE-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROCLAIM|]]&amp;lt;code&amp;gt;PROCLAIM&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROGN|]]&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PUNLESS|]]&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PUT|]]&amp;lt;code&amp;gt;PUT&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PWHEN|]]&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Q ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-QUOTE|]]&amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== R ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RANDOM|]]&amp;lt;code&amp;gt;RANDOM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RASSOC|]]&amp;lt;code&amp;gt;RASSOC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RASSOC-IF|]]&amp;lt;code&amp;gt;RASSOC-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ|]]&amp;lt;code&amp;gt;READ&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-BYTE|]]&amp;lt;code&amp;gt;READ-BYTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-CHAR|]]&amp;lt;code&amp;gt;READ-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-FROM-STRING|]]&amp;lt;code&amp;gt;READ-FROM-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-LINE|]]&amp;lt;code&amp;gt;READ-LINE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REM|]]&amp;lt;code&amp;gt;REM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMHASH|]]&amp;lt;code&amp;gt;REMHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE|]]&amp;lt;code&amp;gt;REMOVE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE-DUPLICATES|]]&amp;lt;code&amp;gt;REMOVE-DUPLICATES&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE-IF|]]&amp;lt;code&amp;gt;REMOVE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMPROP|]]&amp;lt;code&amp;gt;REMPROP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RENAME-FILE|]]&amp;lt;code&amp;gt;RENAME-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REPLACE|]]&amp;lt;code&amp;gt;REPLACE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REPORT-ERROR|]]&amp;lt;code&amp;gt;REPORT-ERROR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REST|]]&amp;lt;code&amp;gt;REST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RESTART-PROCESS|]]&amp;lt;code&amp;gt;RESTART-PROCESS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RET|]]&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REVAPPEND|]]&amp;lt;code&amp;gt;REVAPPEND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REVERSE|]]&amp;lt;code&amp;gt;REVERSE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ROUND|]]&amp;lt;code&amp;gt;ROUND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RPLACA|]]&amp;lt;code&amp;gt;RPLACA&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RPLACD|]]&amp;lt;code&amp;gt;RPLACD&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== S ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SCALE-FLOAT|]]&amp;lt;code&amp;gt;SCALE-FLOAT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEARCH|]]&amp;lt;code&amp;gt;SEARCH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SECOND|]]&amp;lt;code&amp;gt;SECOND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEED-RANDOM|]]&amp;lt;code&amp;gt;SEED-RANDOM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEQUENCEP|]]&amp;lt;code&amp;gt;SEQUENCEP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET|]]&amp;lt;code&amp;gt;SET&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-AREF|]]&amp;lt;code&amp;gt;SET-AREF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-CHAR|]]&amp;lt;code&amp;gt;SET-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-CONSING-STATE|]]&amp;lt;code&amp;gt;SET-CONSING-STATE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-DIFFERENCE|]]&amp;lt;code&amp;gt;SET-DIFFERENCE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-EXCLUSIVE-OR|]]&amp;lt;code&amp;gt;SET-EXCLUSIVE-OR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-FILE-POSITION|]]&amp;lt;code&amp;gt;SET-FILE-POSITION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-NTH|]]&amp;lt;code&amp;gt;SET-NTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SETHASH|]]&amp;lt;code&amp;gt;SETHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEVENTH|]]&amp;lt;code&amp;gt;SEVENTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SIXTH|]]&amp;lt;code&amp;gt;SIXTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SLEEP|]]&amp;lt;code&amp;gt;SLEEP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SORT|]]&amp;lt;code&amp;gt;SORT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STABLE-SORT|]]&amp;lt;code&amp;gt;STABLE-SORT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STREAMP|]]&amp;lt;code&amp;gt;STREAMP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING|]]&amp;lt;code&amp;gt;STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-CAPITALIZE|]]&amp;lt;code&amp;gt;STRING-CAPITALIZE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-DOWNCASE|]]&amp;lt;code&amp;gt;STRING-DOWNCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-EQUAL|]]&amp;lt;code&amp;gt;STRING-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-GREATERP|]]&amp;lt;code&amp;gt;STRING-GREATERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-LEFT-TRIM|]]&amp;lt;code&amp;gt;STRING-LEFT-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-LESSP|]]&amp;lt;code&amp;gt;STRING-LESSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-EQUAL|]]&amp;lt;code&amp;gt;STRING-NOT-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-GREATERP|]]&amp;lt;code&amp;gt;STRING-NOT-GREATERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-LESSP|]]&amp;lt;code&amp;gt;STRING-NOT-LESSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-RIGHT-TRIM|]]&amp;lt;code&amp;gt;STRING-RIGHT-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-TRIM|]]&amp;lt;code&amp;gt;STRING-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-UPCASE|]]&amp;lt;code&amp;gt;STRING-UPCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING/=|]]&amp;lt;code&amp;gt;STRING/=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-427203732|]]&amp;lt;code&amp;gt;STRING&amp;amp;lt;&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-994985164|]]&amp;lt;code&amp;gt;STRING&amp;amp;lt;=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING=|]]&amp;lt;code&amp;gt;STRING=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-427203988|]]&amp;lt;code&amp;gt;STRING&amp;amp;gt;&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-995017932|]]&amp;lt;code&amp;gt;STRING&amp;amp;gt;=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRINGP|]]&amp;lt;code&amp;gt;STRINGP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBLIS|]]&amp;lt;code&amp;gt;SUBLIS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSEQ|]]&amp;lt;code&amp;gt;SUBSEQ&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSETP|]]&amp;lt;code&amp;gt;SUBSETP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBST|]]&amp;lt;code&amp;gt;SUBST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBST-IF|]]&amp;lt;code&amp;gt;SUBST-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSTITUTE|]]&amp;lt;code&amp;gt;SUBSTITUTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSTITUTE-IF|]]&amp;lt;code&amp;gt;SUBSTITUTE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SXHASH|]]&amp;lt;code&amp;gt;SXHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-FUNCTION|]]&amp;lt;code&amp;gt;SYMBOL-FUNCTION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-NAME|]]&amp;lt;code&amp;gt;SYMBOL-NAME&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-PLIST|]]&amp;lt;code&amp;gt;SYMBOL-PLIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-VALUE|]]&amp;lt;code&amp;gt;SYMBOL-VALUE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOLP|]]&amp;lt;code&amp;gt;SYMBOLP&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== T ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TAILP|]]&amp;lt;code&amp;gt;TAILP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TENTH|]]&amp;lt;code&amp;gt;TENTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TERPRI|]]&amp;lt;code&amp;gt;TERPRI&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-THIRD|]]&amp;lt;code&amp;gt;THIRD&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-THROW|]]&amp;lt;code&amp;gt;THROW&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIME-FROM-NOW|]]&amp;lt;code&amp;gt;TIME-FROM-NOW&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIME-HAS-ARRIVED?|]]&amp;lt;code&amp;gt;TIME-HAS-ARRIVED?&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIMESTRING|]]&amp;lt;code&amp;gt;TIMESTRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TREE-EQUAL|]]&amp;lt;code&amp;gt;TREE-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TRUNCATE|]]&amp;lt;code&amp;gt;TRUNCATE&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== U ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UNION|]]&amp;lt;code&amp;gt;UNION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UNREAD-CHAR|]]&amp;lt;code&amp;gt;UNREAD-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UPPER-CASE-P|]]&amp;lt;code&amp;gt;UPPER-CASE-P&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-USER-CONFIRM|]]&amp;lt;code&amp;gt;USER-CONFIRM&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== V ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VALUES|]]&amp;lt;code&amp;gt;VALUES&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VARIABLE-INFORMATION|]]&amp;lt;code&amp;gt;VARIABLE-INFORMATION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VECTOR|]]&amp;lt;code&amp;gt;VECTOR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VECTORP|]]&amp;lt;code&amp;gt;VECTORP&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== W ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WARN|]]&amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-BINARY-FILE|]]&amp;lt;code&amp;gt;WITH-BINARY-FILE&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-STATIC-AREA|]]&amp;lt;code&amp;gt;WITH-STATIC-AREA&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-TEXT-FILE|]]&amp;lt;code&amp;gt;WITH-TEXT-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE|]]&amp;lt;code&amp;gt;WRITE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-BYTE|]]&amp;lt;code&amp;gt;WRITE-BYTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-CHAR|]]&amp;lt;code&amp;gt;WRITE-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-IMAGE|]]&amp;lt;code&amp;gt;WRITE-IMAGE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-LINE|]]&amp;lt;code&amp;gt;WRITE-LINE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-STRING|]]&amp;lt;code&amp;gt;WRITE-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-TO-STRING|]]&amp;lt;code&amp;gt;WRITE-TO-STRING&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== X ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Y ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Z ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ZEROP|]]&amp;lt;code&amp;gt;ZEROP&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>DouglasRMiles</name></author>	</entry>

	<entry>
		<id>https://pdkb.chivanet.org/wiki/index.php?title=SubL&amp;diff=299</id>
		<title>SubL</title>
		<link rel="alternate" type="text/html" href="https://pdkb.chivanet.org/wiki/index.php?title=SubL&amp;diff=299"/>
				<updated>2017-04-17T09:58:06Z</updated>
		
		<summary type="html">&lt;p&gt;DouglasRMiles: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[|]]&lt;br /&gt;
&lt;br /&gt;
== [http://web.archive.org/web/20060325065433/http://www.opencyc.org [[File:/web/20060325065433im_/http://www.cyc.com/cycdoc/img/opencyc-logo-small.gif|OpenCyc.org Homepage]]]SubL Reference ==&lt;br /&gt;
&lt;br /&gt;
E-Mail Comments to: [http://web.archive.org/web/20060325065433/mailto:opencyc-doc@cyc.com opencyc-doc@cyc.com]&amp;lt;br /&amp;gt;&lt;br /&gt;
Last Update: 03/28/2002&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;CopyrightÂ© 1996-2002 [http://web.archive.org/web/20060325065433/http://www.cyc.com Cycorp]. All rights reserved.&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
= How to Use this Document =&lt;br /&gt;
&lt;br /&gt;
SubL is a computer language built by members of Cycorp. SubL was written to support the CycÂ® application, allowing it to run both under Lisp environments and as a C application generated by a SubL-to-C translator. This document describes the primitive functions of SubL.&lt;br /&gt;
&lt;br /&gt;
Due to the close similarities between SubL and Common Lisp, the [[#Table-of-Contents|Table of Contents]] and structure of this document intentionally mirror that of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;amp;quot;Common Lisp: The Language&amp;amp;quot;&amp;#039;&amp;#039;&amp;#039;,&amp;lt;br /&amp;gt;&lt;br /&gt;
2nd Edition,&amp;lt;br /&amp;gt;&lt;br /&gt;
Guy L. Steele Jr&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
making it easy to compare and contrast the two languages. For the most part, this document focuses only on the differences between SubL and Common Lisp.&lt;br /&gt;
&lt;br /&gt;
An online version of [http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/clm.html &amp;amp;quot;Common Lisp: The Language&amp;amp;quot;] can be found at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/clm.html &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;http://www.supelec.fr/docs/cltl/clm/clm.html&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;] **not working**&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
and an [http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html index to all Common Lisp functions] can be found at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;http://www.supelec.fr/docs/cltl/clm/index.html&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;] **this is working**&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Each section of this document contains a link labelled &amp;#039;&amp;#039;&amp;#039;&amp;amp;quot;CLtL2 Reference&amp;amp;quot;&amp;#039;&amp;#039;&amp;#039; to the corresponding sections of the above online Common Lisp reference. The reader is strongly encouraged to consult that reference in parallel with this document. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 0 : Table of Contents =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node1.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
* [[#Table-of-Contents|0 : Table of Contents]]&lt;br /&gt;
* [[#Introduction|1 : Introduction]]&lt;br /&gt;
* [[#Data-Types|2 : Data Types]]&lt;br /&gt;
* [[#Scope-and-Extent|3 : Scope and Extent]]&lt;br /&gt;
* [[#Type-Specifiers|4 : Type Specifiers]]&lt;br /&gt;
* [[#Program-Structure|5 : Program Structure]]&lt;br /&gt;
** [[#Defining-Named-Functions|5.3.1 : Defining Named Functions]]&lt;br /&gt;
** [[#Declaring|5.3.2 : Declaring Global Variables and Named Constants]]&lt;br /&gt;
* [[#Predicates|6 : Predicates]]&lt;br /&gt;
** [[#Logical-Values|6.1 : Logical Values]]&lt;br /&gt;
** [[#Specific-Data-Type-Predicates|6.2.2 : Specific Data Type Predicates]]&lt;br /&gt;
** [[#Equality-Predicates|6.3 : Equality Predicates]]&lt;br /&gt;
** [[#Logical-Operators|6.4 : Logical Operators]]&lt;br /&gt;
* [[#Control-Structure|7 : Control Structure]]&lt;br /&gt;
** [[#Reference|7.1.1 : Reference]]&lt;br /&gt;
** [[#Assignment|7.1.2 : Assignment]]&lt;br /&gt;
** [[#Generalized-Variables|7.2 : Generalized Variables]]&lt;br /&gt;
** [[#Function-Invocation|7.3 : Function Invocation]]&lt;br /&gt;
** [[#Simple-Sequencing|7.4 : Simple Sequencing]]&lt;br /&gt;
** [[#Establishing-New-Variable-Bindings|7.5 : Establishing New Variable Bindings]]&lt;br /&gt;
** [[#Conditionals|7.6 : Conditionals]]&lt;br /&gt;
** [[#Blocks-and-Exits|7.7 : Blocks and Exits]]&lt;br /&gt;
** [[#General-Iteration|7.8.2 : General Iteration]]&lt;br /&gt;
** [[#Simple-Iteration-Constructs|7.8.3 : Simple Iteration Constructs]]&lt;br /&gt;
** [[#Mapping|7.8.4 : Mapping]]&lt;br /&gt;
** [[#Constructs-for-Handling-Multiple-Values|7.10.1 : Constructs for Handling Multiple Values]]&lt;br /&gt;
** [[#Rules-Governing-the-Passing-of-Multiple-Values|7.10.2 : Rules Governing the Passing of Multiple Values]]&lt;br /&gt;
** [[#Dynamic-Non-Local-Exits|7.11 : Dynamic Non-Local Exits]]&lt;br /&gt;
* [[#Macros|8 : Macros]]&lt;br /&gt;
** [[#Macro-Definition|8.1 : Macro Definition]]&lt;br /&gt;
** [[#Destructuring|8.3 : Destructuring]]&lt;br /&gt;
** [[#Environments|8.5 : Environments]]&lt;br /&gt;
* [[#Declarations|9 : Declarations]]&lt;br /&gt;
** [[#Declaration-Syntax|9.1 : Declaration Syntax]]&lt;br /&gt;
** [[#Declaration-Specifiers|9.2 : Declaration Specifiers]]&lt;br /&gt;
* [[#Symbols|10 : Symbols]]&lt;br /&gt;
** [[#The-Property-List|10.1 : The Property List]]&lt;br /&gt;
** [[#The-Print-Name|10.2 : The Print Name]]&lt;br /&gt;
** [[#Creating-Symbols|10.3 : Creating Symbols]]&lt;br /&gt;
* [[#Packages|11 : Packages]]&lt;br /&gt;
* [[#Numbers|12 : Numbers]]&lt;br /&gt;
** [[#Predicates-on-Numbers|12.2 : Predicates on Numbers]]&lt;br /&gt;
** [[#Comparisons-on-Numbers|12.3 : Comparisons on Numbers]]&lt;br /&gt;
** [[#Arithmetic-Operations|12.4 : Arithmetic Operations]]&lt;br /&gt;
** [[#Irrational-and-Transcendental-Functions|12.5 : Irrational and Transcendental Functions]]&lt;br /&gt;
** [[#Type-Conversions-and-Component-Extractions-on-Numbers|12.6 : Type Conversions and Component Extractions on Numbers]]&lt;br /&gt;
** [[#Logical-Operations-on-Numbers|12.7 : Logical Operations on Numbers]]&lt;br /&gt;
** [[#Byte-Manipulation-Functions|12.8 : Byte Manipulation Functions]]&lt;br /&gt;
** [[#Random-Numbers|12.9 : Random Numbers]]&lt;br /&gt;
** [[#Implementation-Parameters|12.10 : Implementation Parameters]]&lt;br /&gt;
* [[#Characters|13 : Characters]]&lt;br /&gt;
** [[#Character-Attributes|13.1 : Character Attributes]]&lt;br /&gt;
** [[#Predicates-on-Characters|13.2 : Predicates on Characters]]&lt;br /&gt;
** [[#Character-Construction-and-Selection|13.3 : Character Construction and Selection]]&lt;br /&gt;
** [[#Character-Conversions|13.4 : Character Conversions]]&lt;br /&gt;
* [[#Sequences|14 : Sequences]]&lt;br /&gt;
** [[#Simple-Sequence-Functions|14.1 : Simple Sequence Functions]]&lt;br /&gt;
** [[#Concatenating-Mapping-and-Reducing-Sequences|14.2 : Concatenating, Mapping and Reducing Sequences]]&lt;br /&gt;
** [[#Modifying-Sequences|14.3 : Modifying Sequences]]&lt;br /&gt;
** [[#Searching-Sequences-for-Terms|14.4 : Searching Sequences for Terms]]&lt;br /&gt;
** [[#Sorting-and-Merging|14.5 : Sorting and Merging]]&lt;br /&gt;
* [[#Lists-Chapter|15 : Lists]]&lt;br /&gt;
** [[#Conses|15.1 : Conses]]&lt;br /&gt;
** [[#Lists|15.2 : Lists]]&lt;br /&gt;
** [[#Alteration-of-List-Structure|15.3 : Alteration of List Structure]]&lt;br /&gt;
** [[#Substitution-of-Expressions|15.4 : Substitution of Expressions]]&lt;br /&gt;
** [[#Using-Lists-as-Sets|15.5 : Using Lists as Sets]]&lt;br /&gt;
** [[#Association-Lists|15.6 : Association Lists]]&lt;br /&gt;
* [[#Hash-Tables|16 : Hash Tables]]&lt;br /&gt;
** [[#Hash-Table-Functions|16.1 : Hash Table Functions]]&lt;br /&gt;
** [[#Primitive-Hash-Function|16.2 : Primitive Hash Function]]&lt;br /&gt;
* [[#Arrays|17 : Arrays]]&lt;br /&gt;
** [[#Vector-Creation|17.1 : Vector Creation]]&lt;br /&gt;
** [[#Vector-Access|17.2 : Vector Access]]&lt;br /&gt;
* [[#Strings|18 : Strings]]&lt;br /&gt;
** [[#String-Access|18.1 : String Access]]&lt;br /&gt;
** [[#String-Comparison|18.2 : String Comparison]]&lt;br /&gt;
** [[#String-Construction-and-Manipulation|18.3 : String Construction and Manipulation]]&lt;br /&gt;
* [[#Structures|19 : Structures]]&lt;br /&gt;
* [[#The-Evaluator|20 : The Evaluator]]&lt;br /&gt;
** [[#Run-Time-Evaluation-of-Forms|20.1 : Run-Time Evaluation of Forms]]&lt;br /&gt;
** [[#The-Top-Level-Loop|20.2 : The Top-Level Loop]]&lt;br /&gt;
* [[#Streams|21 : Streams]]&lt;br /&gt;
** [[#Standard-Streams|21.1 : Standard Streams]]&lt;br /&gt;
** [[#Creating-new-Streams|21.2 : Creating new Streams]]&lt;br /&gt;
** [[#Operations-on-Streams|21.3 : Operations on Streams]]&lt;br /&gt;
* [[#Input-Output|22 : Input/Output]]&lt;br /&gt;
** [[#Printed-Representation-of-SubL-Objects|22.1 : Printed Representation of SubL Objects]]&lt;br /&gt;
** [[#Macro-Characters|22.1.3 : Macro Characters]]&lt;br /&gt;
** [[#Standard-Dispatching-Macro-Character-Syntax|22.1.4 : Standard Dispatching Macro Character Syntax]]&lt;br /&gt;
** [[#The-Readtable|22.1.5 : The Readtable]]&lt;br /&gt;
** [[#What-the-Print-Function-Produces|22.1.6 : What the Print Function Produces]]&lt;br /&gt;
** [[#Input-from-Character-Streams|22.2.1 : Input from Character Streams]]&lt;br /&gt;
** [[#Input-from-Binary-Streams|22.2.2 : Input from Binary Streams]]&lt;br /&gt;
** [[#Output-to-Character-Streams|22.3.1 : Output to Character Streams]]&lt;br /&gt;
** [[#Output-to-Binary-Streams|22.3.2 : Output to Binary Streams]]&lt;br /&gt;
** [[#Formatted-Output-to-Character-Streams|22.3.3 : Formatted Output to Character Streams]]&lt;br /&gt;
* [[#File-System-Interface|23 : File System Interface]]&lt;br /&gt;
** [[#File-Names|23.1 : File Names]]&lt;br /&gt;
** [[#Opening-and-Closing-Files|23.2 : Opening and Closing Files]]&lt;br /&gt;
** [[#Renaming-Deleting-and-Other-File-Operations|23.3 : Renaming, Deleting and Other File Operations]]&lt;br /&gt;
** [[#Loading-Files|23.4 : Loading Files]]&lt;br /&gt;
** [[#Accessing-Directories|23.5 : Accessing Directories]]&lt;br /&gt;
* [[#Errors|24 : Errors]]&lt;br /&gt;
** [[#General-Error-Signalling-Functions|24.1 : General Error-Signalling Functions]]&lt;br /&gt;
** [[#Specialized-Error-Signalling-Forms-and-Macros|24.2 : Specialized Error-Signalling Forms and Macros]]&lt;br /&gt;
* [[#Miscellaneous-Features|25 : Miscellaneous Features]]&lt;br /&gt;
** [[#The-Compiler|25.1 : The Compiler]]&lt;br /&gt;
** [[#Debugging-Tools|25.3 : Debugging Tools]]&lt;br /&gt;
** [[#Time-Functions|25.4.1 : Time Functions]]&lt;br /&gt;
** [[#Identity-Function|25.5 : Identity Function]]&lt;br /&gt;
* [[#Common-Lisp-Object-System|28 : Common Lisp Object System]]&lt;br /&gt;
* [[#SubL-Specific-Features|SubL-Specific Features]]&lt;br /&gt;
** [[#Signals|SubL.1 : Signals]]&lt;br /&gt;
** [[#System-Properties|SubL.2 : System Properties]]&lt;br /&gt;
** [[#Progress-Pacifiers|SubL.3 : Progress Pacifiers]]&lt;br /&gt;
** [[#Process-Manipulation|SubL.4 : Process Manipulation]]&lt;br /&gt;
** [[#Memory-Interaction|SubL.5 : Memory Interaction]]&lt;br /&gt;
* [[#Index|Index]]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 1 : Introduction =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node5.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL is a programming language intended to be very similar to a simplified version of Common Lisp where those features that are either complex, rarely-used, or difficult to implement in a prodecural language have been excised.&lt;br /&gt;
&lt;br /&gt;
Unlike Common Lisp, SubL is not a purely functional language. Several SubL constructs can only be used procedurally. In order to emphasize this difference, the following naming convention for SubL constructs is used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;A SubL function will have the same name as the analogous Common Lisp function if it is intended to have the exact same basic functionality. The argument list may be simplified, but the intent and use are likely to be the same.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If there is a substantial behavioral difference between a SubL function and its Common Lisp counterpart, its name will be the Common Lisp name prepended with a single character -- either &amp;amp;quot;c&amp;amp;quot;, &amp;amp;quot;p&amp;amp;quot; or &amp;amp;quot;f&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;amp;quot;c&amp;amp;quot; indicates a construct that is either only procedural or functional.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;quot;p&amp;amp;quot; indicates the procedural version of a Common Lisp construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;quot;f&amp;amp;quot; indicates the functional version of a Common Lisp construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
A procedural construct in SubL is one which is suitable for evaluation as either one form in an explicit [[#FN-DEF-PROGN|&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;]] or as one form in an implicit progn, which occur in the &amp;lt;code&amp;gt;&amp;amp;amp;body;&amp;lt;/code&amp;gt; sections of many of the procedural forms such as [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]], [[#FN-DEF-PWHEN|&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]] etc.&lt;br /&gt;
&lt;br /&gt;
Here is a table of all the procedural constructs in SubL and the Common Lisp analog:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;SubL Procedural Construct&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common Lisp Equivalent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;progn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cond&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setq&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CINC&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;incf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDEC&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;decf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CPUSH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CPUSHNEW&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pushnew&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CPOP&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;let*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;multiple-value-bind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;do*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dolist&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
` `&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dotimes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
` `&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CCATCH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CUNWIND-PROTECT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unwind-protect&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;return-from&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
A functional construct in SubL is one which returns a value. Here is a table of all the functional constructs in SubL and the Common Lisp analog:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;SubL Functional Construct&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common Lisp Equvalent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CAND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;and&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;COR&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;or&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CNOT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;not&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The body of a function or macro definition is considered an implicit progn, and so all forms in the body should be procedural. A function call can be used as a procedural construct. In this case, the returned value is simply ignored. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 2 : Data Types =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node15.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL has a flat type heirarchy. Each type is described in more detail in the sections about the methods for that particular type.&lt;br /&gt;
&lt;br /&gt;
SubL supports these built-in Common Lisp datatypes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{|&lt;br /&gt;
| Numbers:&lt;br /&gt;
| fixnum&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| float&lt;br /&gt;
|-&lt;br /&gt;
| Symbols:&lt;br /&gt;
| symbol&lt;br /&gt;
|-&lt;br /&gt;
| Lists:&lt;br /&gt;
| cons&lt;br /&gt;
|-&lt;br /&gt;
| Arrays:&lt;br /&gt;
| vector&lt;br /&gt;
|-&lt;br /&gt;
| Characters:&lt;br /&gt;
| character&lt;br /&gt;
|-&lt;br /&gt;
| Strings:&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| Hashtables:&lt;br /&gt;
| eq hashtable&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| eql hashtable&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| equal hashtable&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| equalp hashtable&lt;br /&gt;
|-&lt;br /&gt;
| Streams:&lt;br /&gt;
| stream&lt;br /&gt;
|-&lt;br /&gt;
| Functions:&lt;br /&gt;
| function&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SubL does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; support these Common Lisp datatypes:&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Multi-dimensional arrays&amp;lt;br /&amp;gt;&lt;br /&gt;
Packages&amp;lt;br /&amp;gt;&lt;br /&gt;
Pathnames&amp;lt;br /&amp;gt;&lt;br /&gt;
Random-states&amp;lt;br /&amp;gt;&lt;br /&gt;
Lambda-Expressions or Closures&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
SubL has only special-case support for these datatypes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{|&lt;br /&gt;
| Readtables:&lt;br /&gt;
| SubL only supports a single internal readtable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
New data types can be introduced via [[#FN-DEF-DEFSTRUCT|&amp;lt;code&amp;gt;DEFSTRUCT&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 3 : Scope and Extent =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node43.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
Special variables in SubL are all (and only) those variables defined globally with [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] or [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]]. In addition, the name of each special variable must begin and end with an asterisk character : &amp;lt;code&amp;gt;&amp;#039;*&amp;#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Special variables have indefinite scope and dynamic extent. All other variables have lexical scope and dynamic extent&lt;br /&gt;
&lt;br /&gt;
Variables are introduced via:&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;Function call&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: A new set of variables for the formal parameters of the function are introduced. The extent of the function arguments is the duration of the function invocation.&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;[[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]], [[#FN-DEF-CMULTIPLE-VALUE-BIND|&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDESTRUCTURING-BIND|&amp;lt;code&amp;gt;CDESTRUCTURING-BIND&amp;lt;/code&amp;gt;]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: These constructs explicitly introduce and initialize new local variables. The extent of these variables is until exit from the constuct.&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;[[#FN-DEF-CDO|&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]], [[#FN-DEF-CSOME|&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOTIMES|&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOHASH|&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: These iteration constructs explicitly introduce and update local variables which represent the state of the iteration. The extent of these variables is until exit from the iteration construct.&lt;br /&gt;
&lt;br /&gt;
When a local variable is introduced with the same name as a local variable which is already within the current scope and extent, the new variable shadows the outer variable.&lt;br /&gt;
&lt;br /&gt;
The initialization of a local variable is considered to occur within the scope of the new local variable. Consequently, a variable which is shadowing an outer variable cannot be initialized in terms of the outer value. For example, this is not allowed :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(define foo (x)&lt;br /&gt;
  (clet ((x (+ x 1)))&lt;br /&gt;
    (print x))&lt;br /&gt;
  (ret nil))&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
However, if the variable is a special variable, the [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] is actually introducing a binding for the special variable, not introducing a new local variable. In this case, the initialization of the binding can be a function of its current value for the variable being bound. For example, this is allowed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(defvar *some-var* 1)&lt;br /&gt;
&lt;br /&gt;
(define foo (x)&lt;br /&gt;
  (clet ((*some-var* (+ *some-var* x)))&lt;br /&gt;
    (print *some-var*))&lt;br /&gt;
  (ret nil))&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The construct [[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] must be used for a function or macro definition to return its intended result. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 4 : Type Specifiers =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node44.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not support type specifiers. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 5 : Program Structure =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node55.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
Program structure in SubL mirrors that of Common Lisp almost exactly. All objects except lists and symbols are self-evaluating. This includes numbers, characters, strings, vectors and hashtables. In addition :&lt;br /&gt;
&lt;br /&gt;
* Keyword symbols are self-evaluating.&lt;br /&gt;
* The symbols T and NIL are self-evaluating.&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 5.3.1 : Defining Named Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node66.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFINE : (name arglist &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All functions in SubL must be named and therefore defined via the SubL construct [[#FN-DEF-DEFINE|&amp;lt;code&amp;gt;DEFINE&amp;lt;/code&amp;gt;]]. See also the similar construct [[#FN-DEF-DEFPOLYMORPHIC|&amp;lt;code&amp;gt;DEFPOLYMORPHIC&amp;lt;/code&amp;gt;]] which is used to define generic functions which switch off the type of the first argument.&lt;br /&gt;
&lt;br /&gt;
Argument lists for user-defined function can only be of this form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;( {var}* [&amp;amp;amp;optional; {var | ( var [initform [supplied-var]] ) }*] )&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In short, SubL supports &amp;lt;code&amp;gt;&amp;amp;amp;optional;&amp;lt;/code&amp;gt; arguments for user-defined functions but does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; support &amp;lt;code&amp;gt;&amp;amp;amp;keyword;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;amp;aux;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;amp;amp;rest;&amp;lt;/code&amp;gt; arguments for user-defined functions. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 5.3.2 : Declaring Global Variables and Named Constants ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node67.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFVAR : (variable &amp;amp;amp;optional initialization documentation)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFPARAMETER : (variable initialization &amp;amp;amp;optional documentation)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] and [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] are the SubL constructs used to define global variables. The name of each variable must begin and end with an asterisk.&lt;br /&gt;
&lt;br /&gt;
SubL enforces an important distinction between these two constructs, which is described in greater detail under [[#FN-DEF-WRITE-IMAGE|&amp;lt;code&amp;gt;WRITE-IMAGE&amp;lt;/code&amp;gt;]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFCONSTANT : (variable initialization &amp;amp;amp;optional documentation)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] and [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]], the name of each named constant defined via [[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] must begin and end with an asterisk. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 6 : Predicates =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node69.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.1 : Logical Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node70.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The symbols NIL and T are used to represent the logical values &amp;amp;quot;true&amp;amp;quot; and &amp;amp;quot;false&amp;amp;quot; in SubL and behave exactly as they do in Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.2.2 : Specific Data Type Predicates ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node73.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
For the most part, the following predicates which check for specific data types behave exactly as they do in Common Lisp.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NULL : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOLP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ATOM : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LISTP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUMBERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOATP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHARACTERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRINGP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTORP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTIONP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Follows the CLtL2 implementation&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTION-SPEC-P : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns T IFF x is an object suitable for FUNCALL&lt;br /&gt;
&lt;br /&gt;
In SubL, [[#FN-DEF-FUNCTIONP|&amp;lt;code&amp;gt;FUNCTIONP&amp;lt;/code&amp;gt;]] only returns T if its argument is a function object. The function [[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]] returns T if its argument is suitable for [[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] or [[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.3 : Equality Predicates ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node74.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The SubL equality predicates behave exactly like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQ : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQL : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQUAL : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQUALP : (x y)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.4 : Logical Operators ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node75.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL logical operations &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; return T or NIL. Otherwise, they behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CNOT : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CAND : (&amp;amp;amp;rest args)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;COR : (&amp;amp;amp;rest args)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 7 : Control Structure =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node76.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.1.1 : Reference ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node78.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
These SubL constructs behave exactly like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;QUOTE : (data)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FUNCTION : (fspec)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-VALUE : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-FUNCTION : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BOUNDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FBOUNDP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.1.2 : Assignment ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node79.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSETQ : (var value &amp;amp;amp;rest var-val-pairs)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since [[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] is procedural in SubL, it does not return a value. Otherwise, it behaves just like &amp;lt;code&amp;gt;setq&amp;lt;/code&amp;gt; in Common Lisp.&lt;br /&gt;
&lt;br /&gt;
These SubL functions for setting and unsetting symbol properties behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET : (symbol value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKUNBOUND : (symbol)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FMAKUNBOUND : (symbol)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.2 : Generalized Variables ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node80.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSETF : (place val)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] is a more restricted version of &amp;lt;code&amp;gt;setf&amp;lt;/code&amp;gt; in Common Lisp. First, since it is procedural, like [[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] it does not return a value. Second, there is a much more restricted set of place-specifiers which are allowable. Here is a complete table of the allowable [[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] forms, and their equivalent SubL expansions:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CSETF form&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equivalent SubL expansion&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; variable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETQ&amp;lt;/code&amp;gt; variable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-AREF|&amp;lt;code&amp;gt;AREF&amp;lt;/code&amp;gt;]] vector n&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SET-AREF&amp;lt;/code&amp;gt; vector n value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-NTH|&amp;lt;code&amp;gt;NTH&amp;lt;/code&amp;gt;]] n list&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SET-NTH&amp;lt;/code&amp;gt; n list value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-CAR|&amp;lt;code&amp;gt;CAR&amp;lt;/code&amp;gt;]] cons&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(RPLACA&amp;lt;/code&amp;gt; cons value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-CDR|&amp;lt;code&amp;gt;CDR&amp;lt;/code&amp;gt;]] cons&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(RPLACD&amp;lt;/code&amp;gt; cons value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-GET|&amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt;]] symbol indicator&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(PUT&amp;lt;/code&amp;gt; symbol indicator value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-GETHASH|&amp;lt;code&amp;gt;GETHASH&amp;lt;/code&amp;gt;]] key hashtable&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SETHASH&amp;lt;/code&amp;gt; key hashtable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-SYMBOL-VALUE|&amp;lt;code&amp;gt;SYMBOL-VALUE&amp;lt;/code&amp;gt;]] symbol&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SET&amp;lt;/code&amp;gt; symbol value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; (defstruct-slot object&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(set-defstruct-slot object value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above table, &amp;#039;&amp;#039;&amp;#039;defstruct-slot&amp;#039;&amp;#039;&amp;#039; refers to any structure slot accessor function which got defined via defstruct, and &amp;#039;&amp;#039;&amp;#039;set-defstruct-slot&amp;#039;&amp;#039;&amp;#039; refers to the corresponding setter function for the given accessor. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.3 : Function Invocation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node81.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
These functions behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPLY : (function argument &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCALL : (function &amp;amp;amp;rest args)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first argument to both [[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]] and [[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] must satisfy [[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.4 : Simple Sequencing ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node82.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PROGN : (&amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In SubL, [[#FN-DEF-PROGN|&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;]] is procedural and therefore does not return a value. Since it is intended to be essentially procedural in Common Lisp as well, the same name is used even though they have slightly different semantics. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.5 : Establishing New Variable Bindings ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node83.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CLET : (bindings &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SubL construct [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] can be used to introduce new local variables or bind special variables. The variables are initialized in order just like &amp;lt;code&amp;gt;LET*&amp;lt;/code&amp;gt; in Common Lisp. Since it is procedural, it does not return a value.&lt;br /&gt;
&lt;br /&gt;
SubL has no counterpart to Common Lisp&amp;#039;s &amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt; construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPROGV : (special-vars bindings &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-CPROGV|&amp;lt;code&amp;gt;CPROGV&amp;lt;/code&amp;gt;]] is procedural and therefore does not return a value. Otherwise, it is equivalent to &amp;lt;code&amp;gt;progv&amp;lt;/code&amp;gt; in Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.6 : Conditionals ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node84.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PIF : (condition action else-action)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PWHEN : (condition &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PUNLESS : (condition &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-PIF|&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;]], [[#FN-DEF-PWHEN|&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;]] and [[#FN-DEF-PUNLESS|&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt;]] are the SubL procedural variants of &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt; from Common Lisp. For each, the condition argument must be a functional construct. Also, [[#FN-DEF-PIF|&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;]] takes exactly three arguments, making the action and else-actions identical in form.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FIF : (condition true-value false-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FWHEN : (condition true-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FUNLESS : (condition false-value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-FIF|&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;]], [[#FN-DEF-FWHEN|&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;]] and [[#FN-DEF-FUNLESS|&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;]] are the SubL functional variants of &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt; from Common Lisp.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PCOND : (&amp;amp;amp;rest clauses)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PCASE : (test-object &amp;amp;amp;body clauses)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-PCOND|&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt;]] and [[#FN-DEF-PCASE|&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt;]] are the SubL procedural equivalents of &amp;lt;code&amp;gt;cond&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;case&amp;lt;/code&amp;gt; from Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.7 : Blocks and Exits ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node85.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;RET : (expression)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
SubL functions must always return a value, since C functions must return values and all SubL functions must translate into C.&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] is used to return a value from a function or macro definition. All functions and macro definitions behave as if an implicit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(ret nil)&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
appears at the very end of each function. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.2 : General Iteration ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node88.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDO : (vars endtest &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
cdo is procedural. It binds its variables in sequence, as with CommonLisp do* [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.3 : Simple Iteration Constructs ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node89.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOLIST : ((var listform) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSOME : ((var list endvar) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOTIMES : ((var integer) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOHASH : ((key val table) &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.4 : Mapping ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node90.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCAR : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPLIST : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPC : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPL : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCAN : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCON : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.10.1 : Constructs for Handling Multiple Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node94.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VALUES : (value &amp;amp;amp;rest more-values)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
values returns its args such that they can be bound in a dynamically enclosing multiple-value-bind. The first value is returned as well, since all SubL functions must return a value.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MULTIPLE-VALUES-LIMIT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;MULTIPLE-VALUE-LIST : (form)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND : (vars value &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.10.2 : Rules Governing the Passing of Multiple Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node95.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
In SubL, multiple values are governed the same way that they are in Common Lisp, except that if ANY of the return statements in your function are (values ...) then all of them must be. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.11 : Dynamic Non-Local Exits ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node96.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CCATCH : (tag ans-var &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
ccatch is procedural, and so does not return values.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CUNWIND-PROTECT : (protected-form &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;THROW : (tag result)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 8 : Macros =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node97.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.1 : Macro Definition ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node98.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFMACRO : (name pattern &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SubL Macros are expanded at translation-time. Full Common Lisp macro support is available. However, the macro-expander must use [[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] to return the expansion. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.3 : Destructuring ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node100.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDESTRUCTURING-BIND : (pattern datum &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.5 : Environments ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node102.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VARIABLE-INFORMATION : (variable)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTION-INFORMATION : (function)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 9 : Declarations =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node103.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 9.1 : Declaration Syntax ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node104.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DECLARE : (&amp;amp;amp;rest ignore)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PROCLAIM : (declaration-specifier)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DECLAIM : (&amp;amp;amp;rest declaration-specifiers)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 9.2 : Declaration Specifiers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node105.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;IGNORE : (&amp;amp;amp;rest values)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[#FN-DEF-IGNORE|&amp;lt;code&amp;gt;IGNORE&amp;lt;/code&amp;gt;]] function can be used to indicate that a particular variable&amp;#039;s value is not used. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 10 : Symbols =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node107.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOLP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.1 : The Property List ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node108.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET : (symbol indicator &amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PUT : (symbol indicator new-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMPROP : (symbol indicator)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-PLIST : (symbol)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.2 : The Print Name ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node109.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-NAME : (symbol)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the string which is the name of SYMBOL. When called on a keyword, it returns the &amp;amp;quot;:&amp;amp;quot; prefix as part of the name [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.3 : Creating Symbols ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node110.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-SYMBOL : (print-name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GENSYM : (&amp;amp;amp;optional x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
GENSYM returns new, interned symbols, which are combinations of a string prefix and a numeric suffix. It guarantees that the new symbol was not previously interned.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the argument X is a number, the gensym counter (used to generate the suffix) is set to X before the new symbol is generated.&amp;lt;br /&amp;gt;&lt;br /&gt;
if the argument X is a string, the gensym prefix is set to X before the new symbol is generated.&amp;lt;br /&amp;gt;&lt;br /&gt;
The initial gensym counter value is 1 and the initial gensym prefix is &amp;#039;G&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GENTEMP : (&amp;amp;amp;optional (prefix &amp;amp;quot;T&amp;amp;quot;))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;KEYWORDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In SubL, which does not have packages, keywords are any symbol whose name begins with &amp;amp;quot;:&amp;amp;quot; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 11 : Packages =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node111.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;IN-PACKAGE : (name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTERN : (string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Finds and returns a symbol whose name is STRING. INTERN will create the symbol if it does not exist. Unlike Common LISP intern, the SubL version does not allow an argument to specify the package, since SubL does not support packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND-SYMBOL : (string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Finds and returns a symbol whose name is STRING. Unlike Common LISP FIND-SYMBOL, the SubL version does not allow an argument to specify the package, since SubL does not support packages. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 12 : Numbers =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node121.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL only supports fixnums and floats. Fixnums have at least 28 bits of precision.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUMBERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIXNUMP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOATP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.2 : Predicates on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node123.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ZEROP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PLUSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MINUSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ODDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EVENP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.3 : Comparisons on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node124.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;/= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;lt; : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;gt; : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;lt;= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;gt;= : (num1 num2)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above numeric comparison functions take exactly 2 arguments, unlike their Common Lisp counterparts which take variable numbers of arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAX : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MIN : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.4 : Arithmetic Operations ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node125.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;+ : (&amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;- : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;* : (&amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;/ : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INT/ : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CINC : (place &amp;amp;amp;optional (delta 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDEC : (place &amp;amp;amp;optional (delta 1))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.5 : Irrational and Transcendental Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node126.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any irrational, transcendental or trigonometric functions. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.6 : Type Conversions and Component Extractions on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node130.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOAT : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOOR : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CEILING : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TRUNCATE : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ROUND : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MOD : (number divisor)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REM : (number divisor)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SCALE-FLOAT : (float integer)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGER-DECODE-FLOAT : (float)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.7 : Logical Operations on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node131.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any logical operations on numbers. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.8 : Byte Manipulation Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node132.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;BYTE : (size position)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LDB : (bytespec integer)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DPB : (newbyte bytespec integer)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.9 : Random Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node133.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*RAND-MAX*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*rand-max* is the largest fixnum that the function random can accept.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEED-RANDOM : (&amp;amp;amp;optional (seed-fixnum (mod (get-internal-real-time) *rand-max*)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If seed-fixnum is omitted to seed-random, the internal clock is used&amp;lt;br /&amp;gt;&lt;br /&gt;
in an implementation specific manner.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RANDOM : (number)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.10 : Implementation Parameters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node134.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MOST-POSITIVE-FIXNUM*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MOST-NEGATIVE-FIXNUM*&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 13 : Characters =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node135.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHARACTERP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.1 : Character Attributes ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node136.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any attributes for characters. A character exists for each ASCII character code between 0 and 255 inclusive. Thus, the SubL equivalent of Common Lisp&amp;#039;s &amp;lt;code&amp;gt;CHAR-CODE-LIMIT&amp;lt;/code&amp;gt; is 256. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.2 : Predicates on Characters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node137.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ALPHA-CHAR-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;UPPER-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LOWER-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BOTH-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DIGIT-CHAR-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ALPHANUMERICP : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR/= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;lt; : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;gt; : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;lt;= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;gt;= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-EQUAL : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-EQUAL : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-LESSP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-GREATERP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-GREATERP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-LESSP : (char1 char2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.3 : Character Construction and Selection ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node138.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-CODE : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CODE-CHAR : (code)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.4 : Character Conversions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node139.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-DOWNCASE : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-UPCASE : (char)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 14 : Sequences =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node141.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEQUENCEP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.1 : Simple Sequence Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node142.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ELT : (sequence index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSEQ : (sequence start &amp;amp;amp;optional end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-SEQ : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LENGTH : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REVERSE : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NREVERSE : (sequence)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.2 : Concatenating, Mapping and Reducing Sequences ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node143.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CCONCATENATE : (seq &amp;amp;amp;rest more-seqs)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CREDUCE : (function sequence &amp;amp;amp;optional (start 0) end (init-value :none))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.3 : Modifying Sequences ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node144.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILL : (sequence item &amp;amp;amp;optional (start 0) (end (length sequence)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REPLACE : (sequence1 sequence2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE : (item sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE-IF : (test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE : (item sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-IF : (test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE-DUPLICATES : (sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-DUPLICATES : (sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSTITUTE : (new old sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSTITUTE-IF : (new test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBSTITUTE : (new old sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBSTITUTE-IF : (new test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.4 : Searching Sequences for Terms ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node145.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;POSITION : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;POSITION-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COUNT : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COUNT-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MISMATCH : (seq1 seq2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEARCH : (seq1 seq2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.5 : Sorting and Merging ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node146.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SORT : (seq predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STABLE-SORT : (seq predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CMERGE : (seq1 seq2 predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 15 : Lists =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node147.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LISTP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ATOM : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.1 : Conses ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node148.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CAAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CADR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDDR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONS : (car cdr)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TREE-EQUAL : (tree1 tree2 &amp;amp;amp;optional (test #&amp;#039;eql))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.2 : Lists ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node149.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENDP : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST-LENGTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NTH : (n list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIRST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SECOND : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;THIRD : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FOURTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIFTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SIXTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEVENTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EIGHTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NINTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TENTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NTHCDR : (n list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST : (&amp;amp;amp;rest objects)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST* : (arg &amp;amp;amp;rest objects)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-LIST : (size &amp;amp;amp;optional initial-element)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPEND : (&amp;amp;amp;rest lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-LIST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-ALIST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-TREE : (tree)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REVAPPEND : (list1 list2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NCONC : (&amp;amp;amp;rest lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NRECONC : (list1 list2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPUSH : (item place)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPUSHNEW : (item place &amp;amp;amp;optional (test &amp;#039;#&amp;#039;eql) (key &amp;#039;#&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPOP : (place)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BUTLAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NBUTLAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LDIFF : (list sublist)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.3 : Alteration of List Structure ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node150.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RPLACA : (cons newcar)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RPLACD : (cons newcdr)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-NTH : (n list value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.4 : Substitution of Expressions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node151.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBST : (new old tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBST-IF : (new test tree &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBST : (new old tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBST-IF : (new test tree &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBLIS : (alist tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBLIS : (alist tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.5 : Using Lists as Sets ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node152.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MEMBER : (item list &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MEMBER-IF : (test list &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TAILP : (sublist list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ADJOIN : (item list &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;UNION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUNION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTERSECTION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NINTERSECTION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-DIFFERENCE : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSET-DIFFERENCE : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-EXCLUSIVE-OR : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSET-EXCLUSIVE-OR : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSETP : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.6 : Association Lists ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node153.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ACONS : (key datum alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PAIRLIS : (keys data &amp;amp;amp;optional alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ASSOC : (item alist &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ASSOC-IF : (predicate alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RASSOC : (item alist &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RASSOC-IF : (predicate alist)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 16 : Hash Tables =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node154.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 16.1 : Hash Table Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node155.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-HASH-TABLE : (size &amp;amp;amp;optional (test #&amp;#039;eql) (area default-cons-area))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;HASH-TABLE-P : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GETHASH : (key table &amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SETHASH : (key table value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMHASH : (key table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPHASH : (function table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CLRHASH : (table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;HASH-TABLE-COUNT : (table)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 16.2 : Primitive Hash Function ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node156.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SXHASH : (object)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 17 : Arrays =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node157.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL only supports one-dimensional arrays, which are called vectors.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTORP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 17.1 : Vector Creation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node158.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-VECTOR : (size &amp;amp;amp;optional initial-element)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTOR : (&amp;amp;amp;rest objects)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 17.2 : Vector Access ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node159.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;AREF : (vector index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-AREF : (vector index value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 18 : Strings =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node164.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRINGP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.1 : String Access ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node165.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR : (string index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-CHAR : (string index value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.2 : String Comparison ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node166.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-EQUAL : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;lt; : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;gt; : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;lt;= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;gt;= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING/= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-LESSP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-GREATERP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-GREATERP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-LESSP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-EQUAL : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.3 : String Construction and Manipulation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node167.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-STRING : (size &amp;amp;amp;optional (initial-element #\Space))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-LEFT-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-RIGHT-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-UPCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-DOWNCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-CAPITALIZE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-UPCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-DOWNCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-CAPITALIZE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 19 : Structures =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node168.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFSTRUCT : ((name &amp;amp;amp;rest options) &amp;amp;amp;body slots)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Like Common Lisp defstruct except:&amp;lt;br /&amp;gt;&lt;br /&gt;
(1) slot initializations are not allowed.&lt;br /&gt;
&lt;br /&gt;
(2) the only other options:&amp;lt;br /&amp;gt;&lt;br /&gt;
(:conc-name whatever)&amp;lt;br /&amp;gt;&lt;br /&gt;
(:print-function #&amp;#039;whatever)&lt;br /&gt;
&lt;br /&gt;
the default structure print function is&amp;lt;br /&amp;gt;&lt;br /&gt;
default-struct-print-function : object stream depth&lt;br /&gt;
&lt;br /&gt;
(3) The make constructor takes no arguments and only makes an empty structure.&lt;br /&gt;
&lt;br /&gt;
(4) Reading of structures is not supported by the reader.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEFAULT-STRUCT-PRINT-FUNCTION : (object stream depth)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PRINTING-OBJECT : ((object stream) &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 20 : The Evaluator =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node179.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 20.1 : Run-Time Evaluation of Forms ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node180.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EVAL : (form)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSTANTP : (object &amp;amp;amp;optional env)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Common Lisp functions &amp;lt;code&amp;gt;evalhook&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;applyhook&amp;lt;/code&amp;gt; are not supported in SubL. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 20.2 : The Top-Level Loop ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node181.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;***&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For convenience, the top-level readloop binds the following variables after each form is evaluated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;*  the last value returned&lt;br /&gt;
**  the previous value of *&lt;br /&gt;
*** the previous value of **&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 21 : Streams =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node182.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STREAMP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.1 : Standard Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node183.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*STANDARD-INPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*STANDARD-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*NULL-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
A bit-sink output stream. All output is ignored&lt;br /&gt;
&lt;br /&gt;
The other standard streams supported by Common Lisp are not supported by SubL. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.2 : Creating new Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node184.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-TCP-STREAM : (host port)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.3 : Operations on Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node185.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STREAMP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INPUT-STREAM-P : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OUTPUT-STREAM-P : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CLOSE : (stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 22 : Input/Output =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node186.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1 : Printed Representation of SubL Objects ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node187.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.3 : Macro Characters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node190.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The SubL reader supports the following macro characters, whose meaning is identical to their meaning in Common Lisp :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Macro Character&amp;#039;&amp;#039;&amp;#039; Â Â Â  &amp;#039;&amp;#039;&amp;#039;Reader Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(&amp;lt;/code&amp;gt; Begin reading a list. &amp;lt;code&amp;gt;)&amp;lt;/code&amp;gt; End reading a list or a vector. &amp;lt;code&amp;gt;&amp;#039;&amp;lt;/code&amp;gt; Read in a quoted expression. &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt; Read a comment until end-of-line. &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; Begin or end reading a string. &amp;lt;code&amp;gt;`&amp;lt;/code&amp;gt; Read in a backquoted expression.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In addition, the following comma-readers are supported inside of backquote :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;,  &lt;br /&gt;
,@  &lt;br /&gt;
,.&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Their behavior is identical to their Common Lisp counterparts. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.4 : Standard Dispatching Macro Character Syntax ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node191.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;#039;#&amp;#039;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; is the SubL standard dispatching macro character. The SubL reader supports the following dispatch macro character sequences, whose meanings are identical to their meanings in Common Lisp :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dispatch Sequence&amp;#039;&amp;#039;&amp;#039; Â Â Â  &amp;#039;&amp;#039;&amp;#039;Reader Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#\(&amp;lt;/code&amp;gt; Read a character constant. &amp;lt;code&amp;gt;#&amp;#039;&amp;lt;/code&amp;gt; Read a function constant. &amp;lt;code&amp;gt;#(&amp;lt;/code&amp;gt; Begin reading a vector. &amp;lt;code&amp;gt;#|&amp;lt;/code&amp;gt; Begin reading a comment section. &amp;lt;code&amp;gt;|#&amp;lt;/code&amp;gt; End reading a comment section.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Additionally, SubL supports the dispatch sequence &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;#$&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; as follows :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;#$foo&amp;lt;/code&amp;gt; reads the Cyc constant whose name is &amp;lt;code&amp;gt;&amp;amp;quot;foo&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.5 : The Readtable ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node192.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL internally uses a readtable, but it is not visible to the programmer. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.6 : What the Print Function Produces ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node193.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*PRINT-ESCAPE*&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.2.1 : Input from Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node195.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ : (&amp;amp;amp;optional (stream *standard-input*) (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns FORM if read was successful.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values NIL :ERROR if there was a reader error.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values EOF-VALUE :ERROR if EOF-ERROR-P is nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Causes an error if EOF-ERROR-P is not nil and EOF occurs.&lt;br /&gt;
&lt;br /&gt;
Differences from Common Lisp:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;`Numbers are only read in decimal notation with no specified radix.\&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;No character modifiers: only standard chars plus specials like Space, Return etc.\&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;The || notation and \\ syntax for symbols are not supported.\ \ []()function&amp;lt;/code&amp;gt;READ-LINE : (&amp;amp;amp;optional (stream &amp;#039;&amp;#039;standard-input&amp;#039;&amp;#039;) (eof-error-p t) (eof-value :eof))&amp;lt;code&amp;gt;\ \ []()function&amp;lt;/code&amp;gt;READ-CHAR : (&amp;amp;amp;optional (stream &amp;#039;&amp;#039;standard-input&amp;#039;&amp;#039;) (eof-error-p t) (eof-value :eof))&amp;lt;code&amp;gt;\ \ []()function&amp;lt;/code&amp;gt;UNREAD-CHAR : (char &amp;amp;amp;optional (stream &amp;#039;&amp;#039;standard-input&amp;#039;&amp;#039;))&amp;lt;code&amp;gt;\ \ []()function&amp;lt;/code&amp;gt;READ-FROM-STRING : (string &amp;amp;amp;optional (eof-error-p t) (eof-value :eof) (start 0) end)`&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values FORM NEW-START if read was successful.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values NIL :ERROR if there was a reader error.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values EOF-VALUE :ERROR if EOF-ERROR-P is nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Causes an error if EOF-ERROR-P is not nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns a second value which is an integer indicating the position in the string to&amp;lt;br /&amp;gt;&lt;br /&gt;
start reading from again or :ERROR if there was some kind of reader error. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.2.2 : Input from Binary Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node196.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ-BYTE : (stream &amp;amp;amp;optional (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.1 : Output to Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node198.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE : (object &amp;amp;amp;optional (stream *standard-output*) (escape *print-escape*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRIN1 : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINT : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINC : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-TO-STRING : (object &amp;amp;amp;optional (escape *print-escape*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRIN1-TO-STRING : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINC-TO-STRING : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-CHAR : (char &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-STRING : (string &amp;amp;amp;optional (stream *standard-output*) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-LINE : (string &amp;amp;amp;optional (stream *standard-output*) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TERPRI : (&amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORCE-OUTPUT : (&amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.2 : Output to Binary Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node199.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-BYTE : (integer stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.3 : Formatted Output to Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node200.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORMAT : (destination control-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Format ARGUMENTS to the text stream DESTINATION according to the specifications in CONTROL-STRING. SubL format is more limited than the Common Lisp version: the only escapes allowed in the control string are: ~A ~a ~S ~s ~D ~d (with width and pad parameters optional) ~C ~c ~G ~g ~% ~~ [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 23 : File System Interface =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node202.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.1 : File Names ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node203.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*DEFAULT-PATHNAME-DEFAULTS*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSTRUCT-FILENAME : (directory-list filename &amp;amp;amp;optional extension relative?)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pathnames are just strings in SubL. Common Lisp pathname objects are not supported. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.2 : Opening and Closing Files ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node215.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-TEXT : (filename direction)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Attempts to open the file FILENAME. If successful, returns an 8-bit character text stream. If DIRECTION is :input, then input operations can be performed on the stream. If DIRECTION is output, then output is directed to the file FILENAME, overwriting any existing file. If DIRECTION is :append, then output is appended to the file. For either output case, a new file is created if no file named FILENAME already exists.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-BINARY : (filename direction)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Attempts to open the file FILENAME. If successful, returns an 8-bit binary byte stream. If DIRECTION is :input, then input operations can be performed on the stream. If DIRECTION is output, then output is directed to the file FILENAME, overwriting any existing file. If DIRECTION is :append, then output is appended to the file. For either output case, a new file is created if no file named FILENAME already exists.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-TEXT-FILE : ((stream filestring direction) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In the scope of a WITH-TEXT-FILE expression, the file FILESTRING is opened for character i/o and a stream to this file is created and bound to the variable STREAM. If DIRECTION is :input, then input operations can be performed on STREAM. If DIRECTION is :output, then output operations can be performed, overwriting any existing file. If DIRECTION is :append, then output is appended to an existing file.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-BINARY-FILE : ((stream filestring direction) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In the scope of a WITH-BINARY-FILE expression, the file FILESTRING is opened for binary i/o and a stream to this file is created and bound to the variable STREAM. If DIRECTION is :input, then input operations can be performed on STREAM. If DIRECTION is :output, then output operations can be performed, overwriting any existing file. If DIRECTION is :append, then output is appended to an existing file. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.3 : Renaming, Deleting and Other File Operations ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node216.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RENAME-FILE : (filename new-name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-FILE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PROBE-FILE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPEND-FILES : (filename-1 filename-2 &amp;amp;amp;optional (mode :text))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Append filename-1 to filename-2&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-WRITE-DATE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-AUTHOR : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-FILE-POSITION : (stream)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-FILE-POSITION : (stream n)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-LENGTH : (stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.4 : Loading Files ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node217.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LOAD : (filename)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.5 : Accessing Directories ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node218.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DIRECTORY : (directory-name &amp;amp;amp;optional include-directory)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 24 : Errors =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node219.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 24.1 : General Error-Signalling Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node220.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-ABORT-HANDLER*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If *error-abort-handler* is non-nil, then an ABORT option is available inside ERROR and CERROR.&amp;lt;br /&amp;gt;&lt;br /&gt;
If chosen, then the handler is funcalled on no arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-HANDLER*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If *ERROR-SIGNAL* is non-nil, then that function is called upon an error. Otherwise, the debugger is invoked.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-MESSAGE*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ERROR : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*CONTINUE-CERROR?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CERROR : (continue-string format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-WARNS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If T, all warnings forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WARN : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-BREAKS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If non-NIL, all break forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BREAK : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 24.2 : Specialized Error-Signalling Forms and Macros ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node221.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-MUSTS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If non-NIL, all must forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;MUST : (form format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SUSPEND-TYPE-CHECKING?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
CHECK-TYPE tests are performed iff this is non-nil&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CHECK-TYPE : (object pred)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 25 : Miscellaneous Features =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node223.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.1 : The Compiler ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node224.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL currently does not provide any compilation support. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.3 : Debugging Tools ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node230.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CTIME : (var &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEBUG : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Pauses execution and invokes the debugger. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.4.1 : Time Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node232.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*EPOCH*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*epoch* is the current epoch in use, which is a universal time.&amp;lt;br /&amp;gt;&lt;br /&gt;
The system needs to at least be able to handle epochs back to midnight Jan 1 1970.&amp;lt;br /&amp;gt;&lt;br /&gt;
*epoch* is globally initialized to midnight Jan 1 1970.&amp;lt;br /&amp;gt;&lt;br /&gt;
All universal times are relative to *epoch*.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-UNIVERSAL-TIME : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DECODE-UNIVERSAL-TIME : (universal-time)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENCODE-UNIVERSAL-TIME : (second minute hour date month year)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIME-FROM-NOW : (delta)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIME-HAS-ARRIVED? : (time)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENCODE-TIMESTRING : (second minute hour date month year)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIMESTRING : (&amp;amp;amp;optional (universal-time (get-universal-time)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
timestring returns a string in the format dd/mm/yy hh:mm:ss from the&amp;lt;br /&amp;gt;&lt;br /&gt;
universal time given. If none is given, the current time is used.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*CLOCK-GRANULARITY*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*clock-granularity* is the number of internal clock units per second.&amp;lt;br /&amp;gt;&lt;br /&gt;
time evals form and returns the number of internal clock units it took&amp;lt;br /&amp;gt;&lt;br /&gt;
to execute.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-INTERNAL-REAL-TIME : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SLEEP : (seconds)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.5 : Identity Function ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node234.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;IDENTITY : (object)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 28 : Common Lisp Object System =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node260.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFPOLYMORPHIC : (name lambda-list &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Defines a new polymorphic function that dispatches on the type of its first argument. &amp;amp;lt;body&amp;amp;gt; defines a default method. The function define-method can be used to define additional methods. For example:&lt;br /&gt;
&lt;br /&gt;
(defpolymorphic test (a b)&amp;lt;br /&amp;gt;&lt;br /&gt;
` `(list a b))&lt;br /&gt;
&lt;br /&gt;
(define-method test ((a cons) b)&amp;lt;br /&amp;gt;&lt;br /&gt;
` `(cons b a))&lt;br /&gt;
&lt;br /&gt;
(define-method test ((a fixnum) b)&amp;lt;br /&amp;gt;&lt;br /&gt;
` `(+ a b))&lt;br /&gt;
&lt;br /&gt;
The defpolymorphic form defines the function TEST with a default method.&amp;lt;br /&amp;gt;&lt;br /&gt;
` `The two define-method forms specialize the behavior of TEST for lists and fixnums.&lt;br /&gt;
&lt;br /&gt;
(test &amp;#039;foo &amp;#039;bar) =&amp;amp;gt; (FOO BAR)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;`(test &amp;#039;(foo) &amp;#039;bar) =&amp;amp;amp;gt; (BAR FOO)\&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;(test 2 3) =&amp;amp;amp;gt; 5\ \ []()macro&amp;lt;/code&amp;gt;DEFINE-METHOD : (name lambda-list &amp;amp;amp;body body)`&amp;lt;br /&amp;gt;&lt;br /&gt;
Defines a method for the polymorphic function &amp;amp;lt;name&amp;amp;gt; that runs if&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;lt;dispatch-arg&amp;amp;gt; is of type &amp;amp;lt;type&amp;amp;gt;. The lambda list must have the same&amp;lt;br /&amp;gt;&lt;br /&gt;
structure as in the DEFPOLYMORPHIC call. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= SubL-Specific Features =&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.1 : Signals&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SIGNAL-MAX*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
There are *signal-max* total signals available.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEFAULT-SIGNAL-HANDLER : (signal)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INSTALL-SIGNAL-HANDLER : (signal function)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.2 : System Properties&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-PROCESS-ID : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Return the current heavyweight process id of this current SubL&amp;lt;br /&amp;gt;&lt;br /&gt;
program. Return DEFAULT if this cannot be determined.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-MACHINE-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-NETWORK-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-USER-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.3 : Progress Pacifiers&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SILENT-PROGRESS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-ACTIVITY : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-ACTIVITY : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-NUMERIC-PROGRESS : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-NUMERIC-PROGRESS : (num)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-PERCENT-PROGRESS : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-PERCENT-PROGRESS : (index max)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.4 : Process Manipulation&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORK-PROCESS : (function &amp;amp;amp;optional callback output-file)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Spawn a heavyweight child process to call FUNCTION, which takes no arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
FUNCTION must return an integer.&amp;lt;br /&amp;gt;&lt;br /&gt;
CALLBACK, if provided, must be a function of one argument which is called&amp;lt;br /&amp;gt;&lt;br /&gt;
on the returned value within the address space of the parent process.&amp;lt;br /&amp;gt;&lt;br /&gt;
OUTPUT-FILE, if provided, is a file to which standard output and error are piped&amp;lt;br /&amp;gt;&lt;br /&gt;
while executing FUNCTION.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RESTART-PROCESS : (&amp;amp;amp;optional world-spec init-file-pathname init-form-spec)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Restart the current heavyweight process.&amp;lt;br /&amp;gt;&lt;br /&gt;
WORLD-SPEC, if provided, is the filename of a world to use.&amp;lt;br /&amp;gt;&lt;br /&gt;
INIT-FILE-PATHNAME, if provided, is a file of initializatio forms to eval.&amp;lt;br /&amp;gt;&lt;br /&gt;
INIT-FORM-SPEC, if provided, is a form to execute.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values used for these when the current process was started are used if unprovided.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.5 : Memory Interaction&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GC : (&amp;amp;amp;optional level)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-STATIC-AREA : (&amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-IMAGE : (filename &amp;amp;amp;optional do-full-gc)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Save the current state of virtual memory in a file called FILENAME.&amp;lt;br /&amp;gt;&lt;br /&gt;
If DO-FULL-GC is true, then a full garbage collection is&amp;lt;br /&amp;gt;&lt;br /&gt;
performed before writing the image. Otherwise, a dynamic&amp;lt;br /&amp;gt;&lt;br /&gt;
garbage collection is performed and remaining objects are&amp;lt;br /&amp;gt;&lt;br /&gt;
promoted to being static ones.&lt;br /&gt;
&lt;br /&gt;
During the initialization of a SubL system at startup, variables defined via [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] have their initial values set via their state in the world file used at startup, ignoring the initial value specified by the code. [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] variables and [[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] global constants have their values initialized via the code on startup.&lt;br /&gt;
&lt;br /&gt;
The net result of this distinction is as follows: if a world is saved out via WRITE-IMAGE, and then used to restart a SubL system, the values of [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] variables will persist, while any changes to [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] variables will be lost when they are reset to their original code-specified initial values on startup. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= Index =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[#Index-A|A]] | [[#Index-B|B]] | [[#Index-C|C]] | [[#Index-D|D]] | [[#Index-E|E]] | [[#Index-F|F]] | [[#Index-G|G]] | [[#Index-H|H]] | [[#Index-I|I]] | [[#Index-J|J]] | [[#Index-K|K]] | [[#Index-L|L]] | [[#Index-M|M]] | [[#Index-N|N]] | [[#Index-O|O]] | [[#Index-P|P]] | [[#Index-Q|Q]] | [[#Index-R|R]] | [[#Index-S|S]] | [[#Index-T|T]] | [[#Index-U|U]] | [[#Index-V|V]] | [[#Index-W|W]] | [[#Index-X|X]] | [[#Index-Y|Y]] | [[#Index-Z|Z]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-1280|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1280|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-165120|&amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-21136640|&amp;lt;code&amp;gt;***&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1161467279|&amp;lt;code&amp;gt;*CLOCK-GRANULARITY*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1424597890|&amp;lt;code&amp;gt;*CONTINUE-CERROR?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-609384130|&amp;lt;code&amp;gt;*DEFAULT-PATHNAME-DEFAULTS*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-2020021124|&amp;lt;code&amp;gt;*EPOCH*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-860597104|&amp;lt;code&amp;gt;*ERROR-ABORT-HANDLER*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-354311860|&amp;lt;code&amp;gt;*ERROR-HANDLER*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1079241228|&amp;lt;code&amp;gt;*ERROR-MESSAGE*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-704643174|&amp;lt;code&amp;gt;*ERROR-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-204607828|&amp;lt;code&amp;gt;*IGNORE-BREAKS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-2065003033|&amp;lt;code&amp;gt;*IGNORE-MUSTS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1528898064|&amp;lt;code&amp;gt;*IGNORE-WARNS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1188374285|&amp;lt;code&amp;gt;*MOST-NEGATIVE-FIXNUM*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-113980253|&amp;lt;code&amp;gt;*MOST-POSITIVE-FIXNUM*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1624760991|&amp;lt;code&amp;gt;*MULTIPLE-VALUES-LIMIT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1405149315|&amp;lt;code&amp;gt;*NULL-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-313735324|&amp;lt;code&amp;gt;*PRINT-ESCAPE*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-430643141|&amp;lt;code&amp;gt;*RAND-MAX*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-371148559|&amp;lt;code&amp;gt;*SIGNAL-MAX*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-694198800|&amp;lt;code&amp;gt;*SILENT-PROGRESS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1112282190|&amp;lt;code&amp;gt;*STANDARD-INPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1982975489|&amp;lt;code&amp;gt;*STANDARD-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1570894042|&amp;lt;code&amp;gt;*SUSPEND-TYPE-CHECKING?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-+|&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF--|&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-/|&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-/=|&amp;lt;code&amp;gt;/=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-3584|&amp;lt;code&amp;gt;&amp;amp;lt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-462464|&amp;lt;code&amp;gt;&amp;amp;lt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-=|&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-3840|&amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-495232|&amp;lt;code&amp;gt;&amp;amp;gt;=&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== A ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ACONS|&amp;lt;code&amp;gt;ACONS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ADJOIN|&amp;lt;code&amp;gt;ADJOIN&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALERT-USER|&amp;lt;code&amp;gt;ALERT-USER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALPHA-CHAR-P|&amp;lt;code&amp;gt;ALPHA-CHAR-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALPHANUMERICP|&amp;lt;code&amp;gt;ALPHANUMERICP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPEND|&amp;lt;code&amp;gt;APPEND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPEND-FILES|&amp;lt;code&amp;gt;APPEND-FILES&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-AREF|&amp;lt;code&amp;gt;AREF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ASSOC|&amp;lt;code&amp;gt;ASSOC&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ASSOC-IF|&amp;lt;code&amp;gt;ASSOC-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ATOM|&amp;lt;code&amp;gt;ATOM&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== B ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BOTH-CASE-P|&amp;lt;code&amp;gt;BOTH-CASE-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BOUNDP|&amp;lt;code&amp;gt;BOUNDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BREAK|&amp;lt;code&amp;gt;BREAK&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BUTLAST|&amp;lt;code&amp;gt;BUTLAST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BYTE|&amp;lt;code&amp;gt;BYTE&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== C ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAAR|&amp;lt;code&amp;gt;CAAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CADR|&amp;lt;code&amp;gt;CADR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAND|&amp;lt;code&amp;gt;CAND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAR|&amp;lt;code&amp;gt;CAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CCATCH|&amp;lt;code&amp;gt;CCATCH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CCONCATENATE|&amp;lt;code&amp;gt;CCONCATENATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDAR|&amp;lt;code&amp;gt;CDAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDDR|&amp;lt;code&amp;gt;CDDR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDEC|&amp;lt;code&amp;gt;CDEC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDESTRUCTURING-BIND|&amp;lt;code&amp;gt;CDESTRUCTURING-BIND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDO|&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOHASH|&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOTIMES|&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDR|&amp;lt;code&amp;gt;CDR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CEILING|&amp;lt;code&amp;gt;CEILING&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CERROR|&amp;lt;code&amp;gt;CERROR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR|&amp;lt;code&amp;gt;CHAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-CODE|&amp;lt;code&amp;gt;CHAR-CODE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-DOWNCASE|&amp;lt;code&amp;gt;CHAR-DOWNCASE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-EQUAL|&amp;lt;code&amp;gt;CHAR-EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-GREATERP|&amp;lt;code&amp;gt;CHAR-GREATERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-LESSP|&amp;lt;code&amp;gt;CHAR-LESSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-EQUAL|&amp;lt;code&amp;gt;CHAR-NOT-EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-GREATERP|&amp;lt;code&amp;gt;CHAR-NOT-GREATERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-LESSP|&amp;lt;code&amp;gt;CHAR-NOT-LESSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-UPCASE|&amp;lt;code&amp;gt;CHAR-UPCASE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR/=|&amp;lt;code&amp;gt;CHAR/=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-137661468|&amp;lt;code&amp;gt;CHAR&amp;amp;lt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-440795332|&amp;lt;code&amp;gt;CHAR&amp;amp;lt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR=|&amp;lt;code&amp;gt;CHAR=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-137661724|&amp;lt;code&amp;gt;CHAR&amp;amp;gt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-440828100|&amp;lt;code&amp;gt;CHAR&amp;amp;gt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHARACTERP|&amp;lt;code&amp;gt;CHARACTERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHECK-TYPE|&amp;lt;code&amp;gt;CHECK-TYPE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CINC|&amp;lt;code&amp;gt;CINC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLOSE|&amp;lt;code&amp;gt;CLOSE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLRHASH|&amp;lt;code&amp;gt;CLRHASH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CMERGE|&amp;lt;code&amp;gt;CMERGE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CMULTIPLE-VALUE-BIND|&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CNOT|&amp;lt;code&amp;gt;CNOT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CODE-CHAR|&amp;lt;code&amp;gt;CODE-CHAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONS|&amp;lt;code&amp;gt;CONS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSP|&amp;lt;code&amp;gt;CONSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSTANTP|&amp;lt;code&amp;gt;CONSTANTP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSTRUCT-FILENAME|&amp;lt;code&amp;gt;CONSTRUCT-FILENAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-ALIST|&amp;lt;code&amp;gt;COPY-ALIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-LIST|&amp;lt;code&amp;gt;COPY-LIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-SEQ|&amp;lt;code&amp;gt;COPY-SEQ&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-TREE|&amp;lt;code&amp;gt;COPY-TREE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COR|&amp;lt;code&amp;gt;COR&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COUNT|&amp;lt;code&amp;gt;COUNT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COUNT-IF|&amp;lt;code&amp;gt;COUNT-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPOP|&amp;lt;code&amp;gt;CPOP&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPROGV|&amp;lt;code&amp;gt;CPROGV&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPUSH|&amp;lt;code&amp;gt;CPUSH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPUSHNEW|&amp;lt;code&amp;gt;CPUSHNEW&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CREDUCE|&amp;lt;code&amp;gt;CREDUCE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSOME|&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CTIME|&amp;lt;code&amp;gt;CTIME&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CUNWIND-PROTECT|&amp;lt;code&amp;gt;CUNWIND-PROTECT&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== D ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEBUG|&amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECLAIM|&amp;lt;code&amp;gt;DECLAIM&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECLARE|&amp;lt;code&amp;gt;DECLARE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECODE-UNIVERSAL-TIME|&amp;lt;code&amp;gt;DECODE-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFAULT-SIGNAL-HANDLER|&amp;lt;code&amp;gt;DEFAULT-SIGNAL-HANDLER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFAULT-STRUCT-PRINT-FUNCTION|&amp;lt;code&amp;gt;DEFAULT-STRUCT-PRINT-FUNCTION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFINE|&amp;lt;code&amp;gt;DEFINE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFINE-METHOD|&amp;lt;code&amp;gt;DEFINE-METHOD&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFMACRO|&amp;lt;code&amp;gt;DEFMACRO&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFPOLYMORPHIC|&amp;lt;code&amp;gt;DEFPOLYMORPHIC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFSTRUCT|&amp;lt;code&amp;gt;DEFSTRUCT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE|&amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-DUPLICATES|&amp;lt;code&amp;gt;DELETE-DUPLICATES&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-FILE|&amp;lt;code&amp;gt;DELETE-FILE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-IF|&amp;lt;code&amp;gt;DELETE-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DIGIT-CHAR-P|&amp;lt;code&amp;gt;DIGIT-CHAR-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DIRECTORY|&amp;lt;code&amp;gt;DIRECTORY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DPB|&amp;lt;code&amp;gt;DPB&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== E ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EIGHTH|&amp;lt;code&amp;gt;EIGHTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ELT|&amp;lt;code&amp;gt;ELT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENCODE-TIMESTRING|&amp;lt;code&amp;gt;ENCODE-TIMESTRING&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENCODE-UNIVERSAL-TIME|&amp;lt;code&amp;gt;ENCODE-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENDP|&amp;lt;code&amp;gt;ENDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQ|&amp;lt;code&amp;gt;EQ&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQL|&amp;lt;code&amp;gt;EQL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQUAL|&amp;lt;code&amp;gt;EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQUALP|&amp;lt;code&amp;gt;EQUALP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ERROR|&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EVAL|&amp;lt;code&amp;gt;EVAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EVENP|&amp;lt;code&amp;gt;EVENP&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== F ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FBOUNDP|&amp;lt;code&amp;gt;FBOUNDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIF|&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIFTH|&amp;lt;code&amp;gt;FIFTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-AUTHOR|&amp;lt;code&amp;gt;FILE-AUTHOR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-LENGTH|&amp;lt;code&amp;gt;FILE-LENGTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-WRITE-DATE|&amp;lt;code&amp;gt;FILE-WRITE-DATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILL|&amp;lt;code&amp;gt;FILL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND|&amp;lt;code&amp;gt;FIND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND-IF|&amp;lt;code&amp;gt;FIND-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND-SYMBOL|&amp;lt;code&amp;gt;FIND-SYMBOL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIRST|&amp;lt;code&amp;gt;FIRST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIXNUMP|&amp;lt;code&amp;gt;FIXNUMP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOAT|&amp;lt;code&amp;gt;FLOAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOATP|&amp;lt;code&amp;gt;FLOATP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOOR|&amp;lt;code&amp;gt;FLOOR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FMAKUNBOUND|&amp;lt;code&amp;gt;FMAKUNBOUND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORCE-OUTPUT|&amp;lt;code&amp;gt;FORCE-OUTPUT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORK-PROCESS|&amp;lt;code&amp;gt;FORK-PROCESS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORMAT|&amp;lt;code&amp;gt;FORMAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FOURTH|&amp;lt;code&amp;gt;FOURTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION|&amp;lt;code&amp;gt;FUNCTION&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION-INFORMATION|&amp;lt;code&amp;gt;FUNCTION-INFORMATION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTIONP|&amp;lt;code&amp;gt;FUNCTIONP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNLESS|&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FWHEN|&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== G ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GC|&amp;lt;code&amp;gt;GC&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GENSYM|&amp;lt;code&amp;gt;GENSYM&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GENTEMP|&amp;lt;code&amp;gt;GENTEMP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET|&amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-CONSING-STATE|&amp;lt;code&amp;gt;GET-CONSING-STATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-FILE-POSITION|&amp;lt;code&amp;gt;GET-FILE-POSITION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-INTERNAL-REAL-TIME|&amp;lt;code&amp;gt;GET-INTERNAL-REAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-MACHINE-NAME|&amp;lt;code&amp;gt;GET-MACHINE-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-NETWORK-NAME|&amp;lt;code&amp;gt;GET-NETWORK-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-PROCESS-ID|&amp;lt;code&amp;gt;GET-PROCESS-ID&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-STRING-FROM-USER|&amp;lt;code&amp;gt;GET-STRING-FROM-USER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-UNIVERSAL-TIME|&amp;lt;code&amp;gt;GET-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-USER-NAME|&amp;lt;code&amp;gt;GET-USER-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GETHASH|&amp;lt;code&amp;gt;GETHASH&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== H ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-HASH-TABLE-COUNT|&amp;lt;code&amp;gt;HASH-TABLE-COUNT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-HASH-TABLE-P|&amp;lt;code&amp;gt;HASH-TABLE-P&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== I ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IDENTITY|&amp;lt;code&amp;gt;IDENTITY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IGNORE|&amp;lt;code&amp;gt;IGNORE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IN-PACKAGE|&amp;lt;code&amp;gt;IN-PACKAGE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INPUT-STREAM-P|&amp;lt;code&amp;gt;INPUT-STREAM-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INSTALL-SIGNAL-HANDLER|&amp;lt;code&amp;gt;INSTALL-SIGNAL-HANDLER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INT/|&amp;lt;code&amp;gt;INT/&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTEGER-DECODE-FLOAT|&amp;lt;code&amp;gt;INTEGER-DECODE-FLOAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTEGERP|&amp;lt;code&amp;gt;INTEGERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTERN|&amp;lt;code&amp;gt;INTERN&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTERSECTION|&amp;lt;code&amp;gt;INTERSECTION&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== J ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== K ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-KEYWORDP|&amp;lt;code&amp;gt;KEYWORDP&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== L ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LAST|&amp;lt;code&amp;gt;LAST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LDB|&amp;lt;code&amp;gt;LDB&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LDIFF|&amp;lt;code&amp;gt;LDIFF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LENGTH|&amp;lt;code&amp;gt;LENGTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LIST|&amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-443877220|&amp;lt;code&amp;gt;LIST*&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LIST-LENGTH|]]&amp;lt;code&amp;gt;LIST-LENGTH&amp;lt;/code&amp;gt; function function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LISTP|]]&amp;lt;code&amp;gt;LISTP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOAD|]]&amp;lt;code&amp;gt;LOAD&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOG-MESSAGE|]]&amp;lt;code&amp;gt;LOG-MESSAGE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOWER-CASE-P|]]&amp;lt;code&amp;gt;LOWER-CASE-P&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== M ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-HASH-TABLE|]]&amp;lt;code&amp;gt;MAKE-HASH-TABLE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-LIST|]]&amp;lt;code&amp;gt;MAKE-LIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-STRING|]]&amp;lt;code&amp;gt;MAKE-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-SYMBOL|]]&amp;lt;code&amp;gt;MAKE-SYMBOL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-VECTOR|]]&amp;lt;code&amp;gt;MAKE-VECTOR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKUNBOUND|]]&amp;lt;code&amp;gt;MAKUNBOUND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPC|]]&amp;lt;code&amp;gt;MAPC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCAN|]]&amp;lt;code&amp;gt;MAPCAN&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCAR|]]&amp;lt;code&amp;gt;MAPCAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCON|]]&amp;lt;code&amp;gt;MAPCON&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPHASH|]]&amp;lt;code&amp;gt;MAPHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPL|]]&amp;lt;code&amp;gt;MAPL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPLIST|]]&amp;lt;code&amp;gt;MAPLIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAX|]]&amp;lt;code&amp;gt;MAX&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MEMBER|]]&amp;lt;code&amp;gt;MEMBER&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MEMBER-IF|]]&amp;lt;code&amp;gt;MEMBER-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MIN|]]&amp;lt;code&amp;gt;MIN&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MINUSP|]]&amp;lt;code&amp;gt;MINUSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MISMATCH|]]&amp;lt;code&amp;gt;MISMATCH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MOD|]]&amp;lt;code&amp;gt;MOD&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MULTIPLE-VALUE-LIST|]]&amp;lt;code&amp;gt;MULTIPLE-VALUE-LIST&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MUST|]]&amp;lt;code&amp;gt;MUST&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== N ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NBUTLAST|]]&amp;lt;code&amp;gt;NBUTLAST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NCONC|]]&amp;lt;code&amp;gt;NCONC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NINTERSECTION|]]&amp;lt;code&amp;gt;NINTERSECTION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NINTH|]]&amp;lt;code&amp;gt;NINTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-ACTIVITY|]]&amp;lt;code&amp;gt;NOTE-ACTIVITY&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-NUMERIC-PROGRESS|]]&amp;lt;code&amp;gt;NOTE-NUMERIC-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-PERCENT-PROGRESS|]]&amp;lt;code&amp;gt;NOTE-PERCENT-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTIFY-USER|]]&amp;lt;code&amp;gt;NOTIFY-USER&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-ACTIVITY|]]&amp;lt;code&amp;gt;NOTING-ACTIVITY&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-NUMERIC-PROGRESS|]]&amp;lt;code&amp;gt;NOTING-NUMERIC-PROGRESS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-PERCENT-PROGRESS|]]&amp;lt;code&amp;gt;NOTING-PERCENT-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NRECONC|]]&amp;lt;code&amp;gt;NRECONC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NREVERSE|]]&amp;lt;code&amp;gt;NREVERSE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSET-DIFFERENCE|]]&amp;lt;code&amp;gt;NSET-DIFFERENCE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSET-EXCLUSIVE-OR|]]&amp;lt;code&amp;gt;NSET-EXCLUSIVE-OR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-CAPITALIZE|]]&amp;lt;code&amp;gt;NSTRING-CAPITALIZE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-DOWNCASE|]]&amp;lt;code&amp;gt;NSTRING-DOWNCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-UPCASE|]]&amp;lt;code&amp;gt;NSTRING-UPCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBLIS|]]&amp;lt;code&amp;gt;NSUBLIS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBST|]]&amp;lt;code&amp;gt;NSUBST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBST-IF|]]&amp;lt;code&amp;gt;NSUBST-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBSTITUTE|]]&amp;lt;code&amp;gt;NSUBSTITUTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBSTITUTE-IF|]]&amp;lt;code&amp;gt;NSUBSTITUTE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NTH|]]&amp;lt;code&amp;gt;NTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NTHCDR|]]&amp;lt;code&amp;gt;NTHCDR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NULL|]]&amp;lt;code&amp;gt;NULL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NUMBERP|]]&amp;lt;code&amp;gt;NUMBERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NUNION|]]&amp;lt;code&amp;gt;NUNION&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== O ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ODDP|]]&amp;lt;code&amp;gt;ODDP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-BINARY|]]&amp;lt;code&amp;gt;OPEN-BINARY&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-TCP-STREAM|]]&amp;lt;code&amp;gt;OPEN-TCP-STREAM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-TEXT|]]&amp;lt;code&amp;gt;OPEN-TEXT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OUTPUT-STREAM-P|]]&amp;lt;code&amp;gt;OUTPUT-STREAM-P&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== P ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PAIRLIS|]]&amp;lt;code&amp;gt;PAIRLIS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PCASE|]]&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PCOND|]]&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PIF|]]&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PLUSP|]]&amp;lt;code&amp;gt;PLUSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-POSITION|]]&amp;lt;code&amp;gt;POSITION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-POSITION-IF|]]&amp;lt;code&amp;gt;POSITION-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRIN1|]]&amp;lt;code&amp;gt;PRIN1&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRIN1-TO-STRING|]]&amp;lt;code&amp;gt;PRIN1-TO-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINC|]]&amp;lt;code&amp;gt;PRINC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINC-TO-STRING|]]&amp;lt;code&amp;gt;PRINC-TO-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINT|]]&amp;lt;code&amp;gt;PRINT&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINTING-OBJECT|]]&amp;lt;code&amp;gt;PRINTING-OBJECT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROBE-FILE|]]&amp;lt;code&amp;gt;PROBE-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROCLAIM|]]&amp;lt;code&amp;gt;PROCLAIM&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROGN|]]&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PUNLESS|]]&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PUT|]]&amp;lt;code&amp;gt;PUT&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PWHEN|]]&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Q ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-QUOTE|]]&amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== R ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RANDOM|]]&amp;lt;code&amp;gt;RANDOM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RASSOC|]]&amp;lt;code&amp;gt;RASSOC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RASSOC-IF|]]&amp;lt;code&amp;gt;RASSOC-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ|]]&amp;lt;code&amp;gt;READ&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-BYTE|]]&amp;lt;code&amp;gt;READ-BYTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-CHAR|]]&amp;lt;code&amp;gt;READ-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-FROM-STRING|]]&amp;lt;code&amp;gt;READ-FROM-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-LINE|]]&amp;lt;code&amp;gt;READ-LINE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REM|]]&amp;lt;code&amp;gt;REM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMHASH|]]&amp;lt;code&amp;gt;REMHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE|]]&amp;lt;code&amp;gt;REMOVE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE-DUPLICATES|]]&amp;lt;code&amp;gt;REMOVE-DUPLICATES&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE-IF|]]&amp;lt;code&amp;gt;REMOVE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMPROP|]]&amp;lt;code&amp;gt;REMPROP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RENAME-FILE|]]&amp;lt;code&amp;gt;RENAME-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REPLACE|]]&amp;lt;code&amp;gt;REPLACE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REPORT-ERROR|]]&amp;lt;code&amp;gt;REPORT-ERROR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REST|]]&amp;lt;code&amp;gt;REST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RESTART-PROCESS|]]&amp;lt;code&amp;gt;RESTART-PROCESS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RET|]]&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REVAPPEND|]]&amp;lt;code&amp;gt;REVAPPEND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REVERSE|]]&amp;lt;code&amp;gt;REVERSE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ROUND|]]&amp;lt;code&amp;gt;ROUND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RPLACA|]]&amp;lt;code&amp;gt;RPLACA&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RPLACD|]]&amp;lt;code&amp;gt;RPLACD&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== S ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SCALE-FLOAT|]]&amp;lt;code&amp;gt;SCALE-FLOAT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEARCH|]]&amp;lt;code&amp;gt;SEARCH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SECOND|]]&amp;lt;code&amp;gt;SECOND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEED-RANDOM|]]&amp;lt;code&amp;gt;SEED-RANDOM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEQUENCEP|]]&amp;lt;code&amp;gt;SEQUENCEP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET|]]&amp;lt;code&amp;gt;SET&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-AREF|]]&amp;lt;code&amp;gt;SET-AREF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-CHAR|]]&amp;lt;code&amp;gt;SET-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-CONSING-STATE|]]&amp;lt;code&amp;gt;SET-CONSING-STATE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-DIFFERENCE|]]&amp;lt;code&amp;gt;SET-DIFFERENCE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-EXCLUSIVE-OR|]]&amp;lt;code&amp;gt;SET-EXCLUSIVE-OR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-FILE-POSITION|]]&amp;lt;code&amp;gt;SET-FILE-POSITION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-NTH|]]&amp;lt;code&amp;gt;SET-NTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SETHASH|]]&amp;lt;code&amp;gt;SETHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEVENTH|]]&amp;lt;code&amp;gt;SEVENTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SIXTH|]]&amp;lt;code&amp;gt;SIXTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SLEEP|]]&amp;lt;code&amp;gt;SLEEP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SORT|]]&amp;lt;code&amp;gt;SORT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STABLE-SORT|]]&amp;lt;code&amp;gt;STABLE-SORT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STREAMP|]]&amp;lt;code&amp;gt;STREAMP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING|]]&amp;lt;code&amp;gt;STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-CAPITALIZE|]]&amp;lt;code&amp;gt;STRING-CAPITALIZE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-DOWNCASE|]]&amp;lt;code&amp;gt;STRING-DOWNCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-EQUAL|]]&amp;lt;code&amp;gt;STRING-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-GREATERP|]]&amp;lt;code&amp;gt;STRING-GREATERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-LEFT-TRIM|]]&amp;lt;code&amp;gt;STRING-LEFT-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-LESSP|]]&amp;lt;code&amp;gt;STRING-LESSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-EQUAL|]]&amp;lt;code&amp;gt;STRING-NOT-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-GREATERP|]]&amp;lt;code&amp;gt;STRING-NOT-GREATERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-LESSP|]]&amp;lt;code&amp;gt;STRING-NOT-LESSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-RIGHT-TRIM|]]&amp;lt;code&amp;gt;STRING-RIGHT-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-TRIM|]]&amp;lt;code&amp;gt;STRING-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-UPCASE|]]&amp;lt;code&amp;gt;STRING-UPCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING/=|]]&amp;lt;code&amp;gt;STRING/=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-427203732|]]&amp;lt;code&amp;gt;STRING&amp;amp;lt;&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-994985164|]]&amp;lt;code&amp;gt;STRING&amp;amp;lt;=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING=|]]&amp;lt;code&amp;gt;STRING=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-427203988|]]&amp;lt;code&amp;gt;STRING&amp;amp;gt;&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-995017932|]]&amp;lt;code&amp;gt;STRING&amp;amp;gt;=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRINGP|]]&amp;lt;code&amp;gt;STRINGP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBLIS|]]&amp;lt;code&amp;gt;SUBLIS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSEQ|]]&amp;lt;code&amp;gt;SUBSEQ&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSETP|]]&amp;lt;code&amp;gt;SUBSETP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBST|]]&amp;lt;code&amp;gt;SUBST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBST-IF|]]&amp;lt;code&amp;gt;SUBST-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSTITUTE|]]&amp;lt;code&amp;gt;SUBSTITUTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSTITUTE-IF|]]&amp;lt;code&amp;gt;SUBSTITUTE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SXHASH|]]&amp;lt;code&amp;gt;SXHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-FUNCTION|]]&amp;lt;code&amp;gt;SYMBOL-FUNCTION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-NAME|]]&amp;lt;code&amp;gt;SYMBOL-NAME&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-PLIST|]]&amp;lt;code&amp;gt;SYMBOL-PLIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-VALUE|]]&amp;lt;code&amp;gt;SYMBOL-VALUE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOLP|]]&amp;lt;code&amp;gt;SYMBOLP&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== T ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TAILP|]]&amp;lt;code&amp;gt;TAILP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TENTH|]]&amp;lt;code&amp;gt;TENTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TERPRI|]]&amp;lt;code&amp;gt;TERPRI&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-THIRD|]]&amp;lt;code&amp;gt;THIRD&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-THROW|]]&amp;lt;code&amp;gt;THROW&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIME-FROM-NOW|]]&amp;lt;code&amp;gt;TIME-FROM-NOW&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIME-HAS-ARRIVED?|]]&amp;lt;code&amp;gt;TIME-HAS-ARRIVED?&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIMESTRING|]]&amp;lt;code&amp;gt;TIMESTRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TREE-EQUAL|]]&amp;lt;code&amp;gt;TREE-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TRUNCATE|]]&amp;lt;code&amp;gt;TRUNCATE&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== U ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UNION|]]&amp;lt;code&amp;gt;UNION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UNREAD-CHAR|]]&amp;lt;code&amp;gt;UNREAD-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UPPER-CASE-P|]]&amp;lt;code&amp;gt;UPPER-CASE-P&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-USER-CONFIRM|]]&amp;lt;code&amp;gt;USER-CONFIRM&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== V ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VALUES|]]&amp;lt;code&amp;gt;VALUES&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VARIABLE-INFORMATION|]]&amp;lt;code&amp;gt;VARIABLE-INFORMATION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VECTOR|]]&amp;lt;code&amp;gt;VECTOR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VECTORP|]]&amp;lt;code&amp;gt;VECTORP&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== W ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WARN|]]&amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-BINARY-FILE|]]&amp;lt;code&amp;gt;WITH-BINARY-FILE&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-STATIC-AREA|]]&amp;lt;code&amp;gt;WITH-STATIC-AREA&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-TEXT-FILE|]]&amp;lt;code&amp;gt;WITH-TEXT-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE|]]&amp;lt;code&amp;gt;WRITE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-BYTE|]]&amp;lt;code&amp;gt;WRITE-BYTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-CHAR|]]&amp;lt;code&amp;gt;WRITE-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-IMAGE|]]&amp;lt;code&amp;gt;WRITE-IMAGE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-LINE|]]&amp;lt;code&amp;gt;WRITE-LINE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-STRING|]]&amp;lt;code&amp;gt;WRITE-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-TO-STRING|]]&amp;lt;code&amp;gt;WRITE-TO-STRING&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== X ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Y ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Z ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ZEROP|]]&amp;lt;code&amp;gt;ZEROP&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>DouglasRMiles</name></author>	</entry>

	<entry>
		<id>https://pdkb.chivanet.org/wiki/index.php?title=SubL&amp;diff=298</id>
		<title>SubL</title>
		<link rel="alternate" type="text/html" href="https://pdkb.chivanet.org/wiki/index.php?title=SubL&amp;diff=298"/>
				<updated>2017-04-17T09:56:40Z</updated>
		
		<summary type="html">&lt;p&gt;DouglasRMiles: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[|]]&lt;br /&gt;
&lt;br /&gt;
== [http://web.archive.org/web/20060325065433/http://www.opencyc.org [[File:/web/20060325065433im_/http://www.cyc.com/cycdoc/img/opencyc-logo-small.gif|OpenCyc.org Homepage]]]SubL Reference ==&lt;br /&gt;
&lt;br /&gt;
E-Mail Comments to: [http://web.archive.org/web/20060325065433/mailto:opencyc-doc@cyc.com opencyc-doc@cyc.com]&amp;lt;br /&amp;gt;&lt;br /&gt;
Last Update: 03/28/2002&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;CopyrightÂ© 1996-2002 [http://web.archive.org/web/20060325065433/http://www.cyc.com Cycorp]. All rights reserved.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= How to Use this Document =&lt;br /&gt;
&lt;br /&gt;
SubL is a computer language built by members of Cycorp. SubL was written to support the CycÂ® application, allowing it to run both under Lisp environments and as a C application generated by a SubL-to-C translator. This document describes the primitive functions of SubL.&lt;br /&gt;
&lt;br /&gt;
Due to the close similarities between SubL and Common Lisp, the [[#Table-of-Contents|Table of Contents]] and structure of this document intentionally mirror that of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;amp;quot;Common Lisp: The Language&amp;amp;quot;&amp;#039;&amp;#039;&amp;#039;,&amp;lt;br /&amp;gt;&lt;br /&gt;
2nd Edition,&amp;lt;br /&amp;gt;&lt;br /&gt;
Guy L. Steele Jr&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
making it easy to compare and contrast the two languages. For the most part, this document focuses only on the differences between SubL and Common Lisp.&lt;br /&gt;
&lt;br /&gt;
An online version of [http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/clm.html &amp;amp;quot;Common Lisp: The Language&amp;amp;quot;] can be found at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/clm.html &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;http://www.supelec.fr/docs/cltl/clm/clm.html&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;] **not working**&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
and an [http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html index to all Common Lisp functions] can be found at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;http://www.supelec.fr/docs/cltl/clm/index.html&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;] **this is working**&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Each section of this document contains a link labelled &amp;#039;&amp;#039;&amp;#039;&amp;amp;quot;CLtL2 Reference&amp;amp;quot;&amp;#039;&amp;#039;&amp;#039; to the corresponding sections of the above online Common Lisp reference. The reader is strongly encouraged to consult that reference in parallel with this document. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 0 : Table of Contents =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node1.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
* [[#Table-of-Contents|0 : Table of Contents]]&lt;br /&gt;
* [[#Introduction|1 : Introduction]]&lt;br /&gt;
* [[#Data-Types|2 : Data Types]]&lt;br /&gt;
* [[#Scope-and-Extent|3 : Scope and Extent]]&lt;br /&gt;
* [[#Type-Specifiers|4 : Type Specifiers]]&lt;br /&gt;
* [[#Program-Structure|5 : Program Structure]]&lt;br /&gt;
** [[#Defining-Named-Functions|5.3.1 : Defining Named Functions]]&lt;br /&gt;
** [[#Declaring|5.3.2 : Declaring Global Variables and Named Constants]]&lt;br /&gt;
* [[#Predicates|6 : Predicates]]&lt;br /&gt;
** [[#Logical-Values|6.1 : Logical Values]]&lt;br /&gt;
** [[#Specific-Data-Type-Predicates|6.2.2 : Specific Data Type Predicates]]&lt;br /&gt;
** [[#Equality-Predicates|6.3 : Equality Predicates]]&lt;br /&gt;
** [[#Logical-Operators|6.4 : Logical Operators]]&lt;br /&gt;
* [[#Control-Structure|7 : Control Structure]]&lt;br /&gt;
** [[#Reference|7.1.1 : Reference]]&lt;br /&gt;
** [[#Assignment|7.1.2 : Assignment]]&lt;br /&gt;
** [[#Generalized-Variables|7.2 : Generalized Variables]]&lt;br /&gt;
** [[#Function-Invocation|7.3 : Function Invocation]]&lt;br /&gt;
** [[#Simple-Sequencing|7.4 : Simple Sequencing]]&lt;br /&gt;
** [[#Establishing-New-Variable-Bindings|7.5 : Establishing New Variable Bindings]]&lt;br /&gt;
** [[#Conditionals|7.6 : Conditionals]]&lt;br /&gt;
** [[#Blocks-and-Exits|7.7 : Blocks and Exits]]&lt;br /&gt;
** [[#General-Iteration|7.8.2 : General Iteration]]&lt;br /&gt;
** [[#Simple-Iteration-Constructs|7.8.3 : Simple Iteration Constructs]]&lt;br /&gt;
** [[#Mapping|7.8.4 : Mapping]]&lt;br /&gt;
** [[#Constructs-for-Handling-Multiple-Values|7.10.1 : Constructs for Handling Multiple Values]]&lt;br /&gt;
** [[#Rules-Governing-the-Passing-of-Multiple-Values|7.10.2 : Rules Governing the Passing of Multiple Values]]&lt;br /&gt;
** [[#Dynamic-Non-Local-Exits|7.11 : Dynamic Non-Local Exits]]&lt;br /&gt;
* [[#Macros|8 : Macros]]&lt;br /&gt;
** [[#Macro-Definition|8.1 : Macro Definition]]&lt;br /&gt;
** [[#Destructuring|8.3 : Destructuring]]&lt;br /&gt;
** [[#Environments|8.5 : Environments]]&lt;br /&gt;
* [[#Declarations|9 : Declarations]]&lt;br /&gt;
** [[#Declaration-Syntax|9.1 : Declaration Syntax]]&lt;br /&gt;
** [[#Declaration-Specifiers|9.2 : Declaration Specifiers]]&lt;br /&gt;
* [[#Symbols|10 : Symbols]]&lt;br /&gt;
** [[#The-Property-List|10.1 : The Property List]]&lt;br /&gt;
** [[#The-Print-Name|10.2 : The Print Name]]&lt;br /&gt;
** [[#Creating-Symbols|10.3 : Creating Symbols]]&lt;br /&gt;
* [[#Packages|11 : Packages]]&lt;br /&gt;
* [[#Numbers|12 : Numbers]]&lt;br /&gt;
** [[#Predicates-on-Numbers|12.2 : Predicates on Numbers]]&lt;br /&gt;
** [[#Comparisons-on-Numbers|12.3 : Comparisons on Numbers]]&lt;br /&gt;
** [[#Arithmetic-Operations|12.4 : Arithmetic Operations]]&lt;br /&gt;
** [[#Irrational-and-Transcendental-Functions|12.5 : Irrational and Transcendental Functions]]&lt;br /&gt;
** [[#Type-Conversions-and-Component-Extractions-on-Numbers|12.6 : Type Conversions and Component Extractions on Numbers]]&lt;br /&gt;
** [[#Logical-Operations-on-Numbers|12.7 : Logical Operations on Numbers]]&lt;br /&gt;
** [[#Byte-Manipulation-Functions|12.8 : Byte Manipulation Functions]]&lt;br /&gt;
** [[#Random-Numbers|12.9 : Random Numbers]]&lt;br /&gt;
** [[#Implementation-Parameters|12.10 : Implementation Parameters]]&lt;br /&gt;
* [[#Characters|13 : Characters]]&lt;br /&gt;
** [[#Character-Attributes|13.1 : Character Attributes]]&lt;br /&gt;
** [[#Predicates-on-Characters|13.2 : Predicates on Characters]]&lt;br /&gt;
** [[#Character-Construction-and-Selection|13.3 : Character Construction and Selection]]&lt;br /&gt;
** [[#Character-Conversions|13.4 : Character Conversions]]&lt;br /&gt;
* [[#Sequences|14 : Sequences]]&lt;br /&gt;
** [[#Simple-Sequence-Functions|14.1 : Simple Sequence Functions]]&lt;br /&gt;
** [[#Concatenating-Mapping-and-Reducing-Sequences|14.2 : Concatenating, Mapping and Reducing Sequences]]&lt;br /&gt;
** [[#Modifying-Sequences|14.3 : Modifying Sequences]]&lt;br /&gt;
** [[#Searching-Sequences-for-Terms|14.4 : Searching Sequences for Terms]]&lt;br /&gt;
** [[#Sorting-and-Merging|14.5 : Sorting and Merging]]&lt;br /&gt;
* [[#Lists-Chapter|15 : Lists]]&lt;br /&gt;
** [[#Conses|15.1 : Conses]]&lt;br /&gt;
** [[#Lists|15.2 : Lists]]&lt;br /&gt;
** [[#Alteration-of-List-Structure|15.3 : Alteration of List Structure]]&lt;br /&gt;
** [[#Substitution-of-Expressions|15.4 : Substitution of Expressions]]&lt;br /&gt;
** [[#Using-Lists-as-Sets|15.5 : Using Lists as Sets]]&lt;br /&gt;
** [[#Association-Lists|15.6 : Association Lists]]&lt;br /&gt;
* [[#Hash-Tables|16 : Hash Tables]]&lt;br /&gt;
** [[#Hash-Table-Functions|16.1 : Hash Table Functions]]&lt;br /&gt;
** [[#Primitive-Hash-Function|16.2 : Primitive Hash Function]]&lt;br /&gt;
* [[#Arrays|17 : Arrays]]&lt;br /&gt;
** [[#Vector-Creation|17.1 : Vector Creation]]&lt;br /&gt;
** [[#Vector-Access|17.2 : Vector Access]]&lt;br /&gt;
* [[#Strings|18 : Strings]]&lt;br /&gt;
** [[#String-Access|18.1 : String Access]]&lt;br /&gt;
** [[#String-Comparison|18.2 : String Comparison]]&lt;br /&gt;
** [[#String-Construction-and-Manipulation|18.3 : String Construction and Manipulation]]&lt;br /&gt;
* [[#Structures|19 : Structures]]&lt;br /&gt;
* [[#The-Evaluator|20 : The Evaluator]]&lt;br /&gt;
** [[#Run-Time-Evaluation-of-Forms|20.1 : Run-Time Evaluation of Forms]]&lt;br /&gt;
** [[#The-Top-Level-Loop|20.2 : The Top-Level Loop]]&lt;br /&gt;
* [[#Streams|21 : Streams]]&lt;br /&gt;
** [[#Standard-Streams|21.1 : Standard Streams]]&lt;br /&gt;
** [[#Creating-new-Streams|21.2 : Creating new Streams]]&lt;br /&gt;
** [[#Operations-on-Streams|21.3 : Operations on Streams]]&lt;br /&gt;
* [[#Input-Output|22 : Input/Output]]&lt;br /&gt;
** [[#Printed-Representation-of-SubL-Objects|22.1 : Printed Representation of SubL Objects]]&lt;br /&gt;
** [[#Macro-Characters|22.1.3 : Macro Characters]]&lt;br /&gt;
** [[#Standard-Dispatching-Macro-Character-Syntax|22.1.4 : Standard Dispatching Macro Character Syntax]]&lt;br /&gt;
** [[#The-Readtable|22.1.5 : The Readtable]]&lt;br /&gt;
** [[#What-the-Print-Function-Produces|22.1.6 : What the Print Function Produces]]&lt;br /&gt;
** [[#Input-from-Character-Streams|22.2.1 : Input from Character Streams]]&lt;br /&gt;
** [[#Input-from-Binary-Streams|22.2.2 : Input from Binary Streams]]&lt;br /&gt;
** [[#Output-to-Character-Streams|22.3.1 : Output to Character Streams]]&lt;br /&gt;
** [[#Output-to-Binary-Streams|22.3.2 : Output to Binary Streams]]&lt;br /&gt;
** [[#Formatted-Output-to-Character-Streams|22.3.3 : Formatted Output to Character Streams]]&lt;br /&gt;
* [[#File-System-Interface|23 : File System Interface]]&lt;br /&gt;
** [[#File-Names|23.1 : File Names]]&lt;br /&gt;
** [[#Opening-and-Closing-Files|23.2 : Opening and Closing Files]]&lt;br /&gt;
** [[#Renaming-Deleting-and-Other-File-Operations|23.3 : Renaming, Deleting and Other File Operations]]&lt;br /&gt;
** [[#Loading-Files|23.4 : Loading Files]]&lt;br /&gt;
** [[#Accessing-Directories|23.5 : Accessing Directories]]&lt;br /&gt;
* [[#Errors|24 : Errors]]&lt;br /&gt;
** [[#General-Error-Signalling-Functions|24.1 : General Error-Signalling Functions]]&lt;br /&gt;
** [[#Specialized-Error-Signalling-Forms-and-Macros|24.2 : Specialized Error-Signalling Forms and Macros]]&lt;br /&gt;
* [[#Miscellaneous-Features|25 : Miscellaneous Features]]&lt;br /&gt;
** [[#The-Compiler|25.1 : The Compiler]]&lt;br /&gt;
** [[#Debugging-Tools|25.3 : Debugging Tools]]&lt;br /&gt;
** [[#Time-Functions|25.4.1 : Time Functions]]&lt;br /&gt;
** [[#Identity-Function|25.5 : Identity Function]]&lt;br /&gt;
* [[#Common-Lisp-Object-System|28 : Common Lisp Object System]]&lt;br /&gt;
* [[#SubL-Specific-Features|SubL-Specific Features]]&lt;br /&gt;
** [[#Signals|SubL.1 : Signals]]&lt;br /&gt;
** [[#System-Properties|SubL.2 : System Properties]]&lt;br /&gt;
** [[#Progress-Pacifiers|SubL.3 : Progress Pacifiers]]&lt;br /&gt;
** [[#Process-Manipulation|SubL.4 : Process Manipulation]]&lt;br /&gt;
** [[#Memory-Interaction|SubL.5 : Memory Interaction]]&lt;br /&gt;
* [[#Index|Index]]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 1 : Introduction =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node5.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL is a programming language intended to be very similar to a simplified version of Common Lisp where those features that are either complex, rarely-used, or difficult to implement in a prodecural language have been excised.&lt;br /&gt;
&lt;br /&gt;
Unlike Common Lisp, SubL is not a purely functional language. Several SubL constructs can only be used procedurally. In order to emphasize this difference, the following naming convention for SubL constructs is used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;A SubL function will have the same name as the analogous Common Lisp function if it is intended to have the exact same basic functionality. The argument list may be simplified, but the intent and use are likely to be the same.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If there is a substantial behavioral difference between a SubL function and its Common Lisp counterpart, its name will be the Common Lisp name prepended with a single character -- either &amp;amp;quot;c&amp;amp;quot;, &amp;amp;quot;p&amp;amp;quot; or &amp;amp;quot;f&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;amp;quot;c&amp;amp;quot; indicates a construct that is either only procedural or functional.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;quot;p&amp;amp;quot; indicates the procedural version of a Common Lisp construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;quot;f&amp;amp;quot; indicates the functional version of a Common Lisp construct.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
A procedural construct in SubL is one which is suitable for evaluation as either one form in an explicit [[#FN-DEF-PROGN|&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;]] or as one form in an implicit progn, which occur in the &amp;lt;code&amp;gt;&amp;amp;amp;body;&amp;lt;/code&amp;gt; sections of many of the procedural forms such as [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]], [[#FN-DEF-PWHEN|&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]] etc.&lt;br /&gt;
&lt;br /&gt;
Here is a table of all the procedural constructs in SubL and the Common Lisp analog:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;SubL Procedural Construct&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common Lisp Equivalent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;progn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cond&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setq&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CINC&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;incf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDEC&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;decf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CPUSH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CPUSHNEW&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pushnew&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CPOP&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;let*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;multiple-value-bind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;do*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dolist&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
` `&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dotimes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
` `&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CCATCH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CUNWIND-PROTECT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unwind-protect&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;return-from&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
A functional construct in SubL is one which returns a value. Here is a table of all the functional constructs in SubL and the Common Lisp analog:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;SubL Functional Construct&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common Lisp Equvalent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CAND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;and&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;COR&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;or&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CNOT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;not&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The body of a function or macro definition is considered an implicit progn, and so all forms in the body should be procedural. A function call can be used as a procedural construct. In this case, the returned value is simply ignored. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 2 : Data Types =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node15.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL has a flat type heirarchy. Each type is described in more detail in the sections about the methods for that particular type.&lt;br /&gt;
&lt;br /&gt;
SubL supports these built-in Common Lisp datatypes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;colgroup&amp;gt;&lt;br /&gt;
&amp;lt;col width=&amp;quot;50%&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;col width=&amp;quot;50%&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/colgroup&amp;gt;&lt;br /&gt;
&amp;lt;tbody&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;odd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;Numbers:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;fixnum&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;even&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;float&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;odd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;Symbols:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;symbol&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;even&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;Lists:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;cons&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;odd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;Arrays:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;vector&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;even&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;Characters:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;character&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;odd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;Strings:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;even&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;Hashtables:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;eq hashtable&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;odd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;eql hashtable&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;even&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;equal hashtable&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;odd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;equalp hashtable&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;even&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;Streams:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;stream&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;odd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;Functions:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;function&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/tbody&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
SubL does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; support these Common Lisp datatypes:&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Multi-dimensional arrays&amp;lt;br /&amp;gt;&lt;br /&gt;
Packages&amp;lt;br /&amp;gt;&lt;br /&gt;
Pathnames&amp;lt;br /&amp;gt;&lt;br /&gt;
Random-states&amp;lt;br /&amp;gt;&lt;br /&gt;
Lambda-Expressions or Closures&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
SubL has only special-case support for these datatypes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{|&lt;br /&gt;
| Readtables:&lt;br /&gt;
| SubL only supports a single internal readtable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
New data types can be introduced via [[#FN-DEF-DEFSTRUCT|&amp;lt;code&amp;gt;DEFSTRUCT&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 3 : Scope and Extent =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node43.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
Special variables in SubL are all (and only) those variables defined globally with [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] or [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]]. In addition, the name of each special variable must begin and end with an asterisk character : &amp;lt;code&amp;gt;&amp;#039;*&amp;#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Special variables have indefinite scope and dynamic extent. All other variables have lexical scope and dynamic extent&lt;br /&gt;
&lt;br /&gt;
Variables are introduced via:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Function call&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
A new set of variables for the formal parameters of the function are introduced. The extent of the function arguments is the duration of the function invocation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]], [[#FN-DEF-CMULTIPLE-VALUE-BIND|&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDESTRUCTURING-BIND|&amp;lt;code&amp;gt;CDESTRUCTURING-BIND&amp;lt;/code&amp;gt;]]&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
These constructs explicitly introduce and initialize new local variables. The extent of these variables is until exit from the constuct.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[#FN-DEF-CDO|&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]], [[#FN-DEF-CSOME|&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOTIMES|&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOHASH|&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;]]&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
These iteration constructs explicitly introduce and update local variables which represent the state of the iteration. The extent of these variables is until exit from the iteration construct.&lt;br /&gt;
&lt;br /&gt;
When a local variable is introduced with the same name as a local variable which is already within the current scope and extent, the new variable shadows the outer variable.&lt;br /&gt;
&lt;br /&gt;
The initialization of a local variable is considered to occur within the scope of the new local variable. Consequently, a variable which is shadowing an outer variable cannot be initialized in terms of the outer value. For example, this is not allowed :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(define foo (x)&lt;br /&gt;
  (clet ((x (+ x 1)))&lt;br /&gt;
    (print x))&lt;br /&gt;
  (ret nil))&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
However, if the variable is a special variable, the [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] is actually introducing a binding for the special variable, not introducing a new local variable. In this case, the initialization of the binding can be a function of its current value for the variable being bound. For example, this is allowed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(defvar *some-var* 1)&lt;br /&gt;
&lt;br /&gt;
(define foo (x)&lt;br /&gt;
  (clet ((*some-var* (+ *some-var* x)))&lt;br /&gt;
    (print *some-var*))&lt;br /&gt;
  (ret nil))&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The construct [[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] must be used for a function or macro definition to return its intended result. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 4 : Type Specifiers =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node44.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not support type specifiers. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 5 : Program Structure =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node55.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
Program structure in SubL mirrors that of Common Lisp almost exactly. All objects except lists and symbols are self-evaluating. This includes numbers, characters, strings, vectors and hashtables. In addition :&lt;br /&gt;
&lt;br /&gt;
* Keyword symbols are self-evaluating.&lt;br /&gt;
* The symbols T and NIL are self-evaluating.&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 5.3.1 : Defining Named Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node66.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFINE : (name arglist &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All functions in SubL must be named and therefore defined via the SubL construct [[#FN-DEF-DEFINE|&amp;lt;code&amp;gt;DEFINE&amp;lt;/code&amp;gt;]]. See also the similar construct [[#FN-DEF-DEFPOLYMORPHIC|&amp;lt;code&amp;gt;DEFPOLYMORPHIC&amp;lt;/code&amp;gt;]] which is used to define generic functions which switch off the type of the first argument.&lt;br /&gt;
&lt;br /&gt;
Argument lists for user-defined function can only be of this form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;( {var}* [&amp;amp;amp;optional; {var | ( var [initform [supplied-var]] ) }*] )&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In short, SubL supports &amp;lt;code&amp;gt;&amp;amp;amp;optional;&amp;lt;/code&amp;gt; arguments for user-defined functions but does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; support &amp;lt;code&amp;gt;&amp;amp;amp;keyword;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;amp;aux;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;amp;amp;rest;&amp;lt;/code&amp;gt; arguments for user-defined functions. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 5.3.2 : Declaring Global Variables and Named Constants ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node67.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFVAR : (variable &amp;amp;amp;optional initialization documentation)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFPARAMETER : (variable initialization &amp;amp;amp;optional documentation)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] and [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] are the SubL constructs used to define global variables. The name of each variable must begin and end with an asterisk.&lt;br /&gt;
&lt;br /&gt;
SubL enforces an important distinction between these two constructs, which is described in greater detail under [[#FN-DEF-WRITE-IMAGE|&amp;lt;code&amp;gt;WRITE-IMAGE&amp;lt;/code&amp;gt;]].&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFCONSTANT : (variable initialization &amp;amp;amp;optional documentation)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] and [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]], the name of each named constant defined via [[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] must begin and end with an asterisk. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 6 : Predicates =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node69.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.1 : Logical Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node70.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The symbols NIL and T are used to represent the logical values &amp;amp;quot;true&amp;amp;quot; and &amp;amp;quot;false&amp;amp;quot; in SubL and behave exactly as they do in Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.2.2 : Specific Data Type Predicates ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node73.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
For the most part, the following predicates which check for specific data types behave exactly as they do in Common Lisp.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NULL : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOLP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ATOM : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LISTP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUMBERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOATP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHARACTERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRINGP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTORP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTIONP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Follows the CLtL2 implementation&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTION-SPEC-P : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns T IFF x is an object suitable for FUNCALL&lt;br /&gt;
&lt;br /&gt;
In SubL, [[#FN-DEF-FUNCTIONP|&amp;lt;code&amp;gt;FUNCTIONP&amp;lt;/code&amp;gt;]] only returns T if its argument is a function object. The function [[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]] returns T if its argument is suitable for [[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] or [[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.3 : Equality Predicates ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node74.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The SubL equality predicates behave exactly like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQ : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQL : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQUAL : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQUALP : (x y)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.4 : Logical Operators ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node75.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL logical operations &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; return T or NIL. Otherwise, they behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CNOT : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CAND : (&amp;amp;amp;rest args)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;COR : (&amp;amp;amp;rest args)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 7 : Control Structure =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node76.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.1.1 : Reference ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node78.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
These SubL constructs behave exactly like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;QUOTE : (data)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FUNCTION : (fspec)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-VALUE : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-FUNCTION : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BOUNDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FBOUNDP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.1.2 : Assignment ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node79.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSETQ : (var value &amp;amp;amp;rest var-val-pairs)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since [[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] is procedural in SubL, it does not return a value. Otherwise, it behaves just like &amp;lt;code&amp;gt;setq&amp;lt;/code&amp;gt; in Common Lisp.&lt;br /&gt;
&lt;br /&gt;
These SubL functions for setting and unsetting symbol properties behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET : (symbol value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKUNBOUND : (symbol)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FMAKUNBOUND : (symbol)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.2 : Generalized Variables ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node80.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSETF : (place val)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] is a more restricted version of &amp;lt;code&amp;gt;setf&amp;lt;/code&amp;gt; in Common Lisp. First, since it is procedural, like [[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] it does not return a value. Second, there is a much more restricted set of place-specifiers which are allowable. Here is a complete table of the allowable [[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] forms, and their equivalent SubL expansions:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CSETF form&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equivalent SubL expansion&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; variable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETQ&amp;lt;/code&amp;gt; variable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-AREF|&amp;lt;code&amp;gt;AREF&amp;lt;/code&amp;gt;]] vector n&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SET-AREF&amp;lt;/code&amp;gt; vector n value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-NTH|&amp;lt;code&amp;gt;NTH&amp;lt;/code&amp;gt;]] n list&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SET-NTH&amp;lt;/code&amp;gt; n list value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-CAR|&amp;lt;code&amp;gt;CAR&amp;lt;/code&amp;gt;]] cons&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(RPLACA&amp;lt;/code&amp;gt; cons value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-CDR|&amp;lt;code&amp;gt;CDR&amp;lt;/code&amp;gt;]] cons&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(RPLACD&amp;lt;/code&amp;gt; cons value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-GET|&amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt;]] symbol indicator&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(PUT&amp;lt;/code&amp;gt; symbol indicator value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-GETHASH|&amp;lt;code&amp;gt;GETHASH&amp;lt;/code&amp;gt;]] key hashtable&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SETHASH&amp;lt;/code&amp;gt; key hashtable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-SYMBOL-VALUE|&amp;lt;code&amp;gt;SYMBOL-VALUE&amp;lt;/code&amp;gt;]] symbol&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(SET&amp;lt;/code&amp;gt; symbol value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(CSETF&amp;lt;/code&amp;gt; (defstruct-slot object&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(set-defstruct-slot object value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above table, &amp;#039;&amp;#039;&amp;#039;defstruct-slot&amp;#039;&amp;#039;&amp;#039; refers to any structure slot accessor function which got defined via defstruct, and &amp;#039;&amp;#039;&amp;#039;set-defstruct-slot&amp;#039;&amp;#039;&amp;#039; refers to the corresponding setter function for the given accessor. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.3 : Function Invocation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node81.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
These functions behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPLY : (function argument &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCALL : (function &amp;amp;amp;rest args)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first argument to both [[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]] and [[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] must satisfy [[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.4 : Simple Sequencing ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node82.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PROGN : (&amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In SubL, [[#FN-DEF-PROGN|&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;]] is procedural and therefore does not return a value. Since it is intended to be essentially procedural in Common Lisp as well, the same name is used even though they have slightly different semantics. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.5 : Establishing New Variable Bindings ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node83.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CLET : (bindings &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SubL construct [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] can be used to introduce new local variables or bind special variables. The variables are initialized in order just like &amp;lt;code&amp;gt;LET*&amp;lt;/code&amp;gt; in Common Lisp. Since it is procedural, it does not return a value.&lt;br /&gt;
&lt;br /&gt;
SubL has no counterpart to Common Lisp&amp;#039;s &amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt; construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPROGV : (special-vars bindings &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-CPROGV|&amp;lt;code&amp;gt;CPROGV&amp;lt;/code&amp;gt;]] is procedural and therefore does not return a value. Otherwise, it is equivalent to &amp;lt;code&amp;gt;progv&amp;lt;/code&amp;gt; in Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.6 : Conditionals ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node84.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PIF : (condition action else-action)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PWHEN : (condition &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PUNLESS : (condition &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-PIF|&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;]], [[#FN-DEF-PWHEN|&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;]] and [[#FN-DEF-PUNLESS|&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt;]] are the SubL procedural variants of &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt; from Common Lisp. For each, the condition argument must be a functional construct. Also, [[#FN-DEF-PIF|&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;]] takes exactly three arguments, making the action and else-actions identical in form.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FIF : (condition true-value false-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FWHEN : (condition true-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FUNLESS : (condition false-value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-FIF|&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;]], [[#FN-DEF-FWHEN|&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;]] and [[#FN-DEF-FUNLESS|&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;]] are the SubL functional variants of &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt; from Common Lisp.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PCOND : (&amp;amp;amp;rest clauses)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PCASE : (test-object &amp;amp;amp;body clauses)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-PCOND|&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt;]] and [[#FN-DEF-PCASE|&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt;]] are the SubL procedural equivalents of &amp;lt;code&amp;gt;cond&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;case&amp;lt;/code&amp;gt; from Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.7 : Blocks and Exits ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node85.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;RET : (expression)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
SubL functions must always return a value, since C functions must return values and all SubL functions must translate into C.&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] is used to return a value from a function or macro definition. All functions and macro definitions behave as if an implicit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(ret nil)&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
appears at the very end of each function. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.2 : General Iteration ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node88.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDO : (vars endtest &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
cdo is procedural. It binds its variables in sequence, as with CommonLisp do* [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.3 : Simple Iteration Constructs ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node89.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOLIST : ((var listform) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSOME : ((var list endvar) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOTIMES : ((var integer) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOHASH : ((key val table) &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.4 : Mapping ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node90.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCAR : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPLIST : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPC : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPL : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCAN : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCON : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.10.1 : Constructs for Handling Multiple Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node94.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VALUES : (value &amp;amp;amp;rest more-values)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
values returns its args such that they can be bound in a dynamically enclosing multiple-value-bind. The first value is returned as well, since all SubL functions must return a value.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MULTIPLE-VALUES-LIMIT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;MULTIPLE-VALUE-LIST : (form)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND : (vars value &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.10.2 : Rules Governing the Passing of Multiple Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node95.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
In SubL, multiple values are governed the same way that they are in Common Lisp, except that if ANY of the return statements in your function are (values ...) then all of them must be. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.11 : Dynamic Non-Local Exits ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node96.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CCATCH : (tag ans-var &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
ccatch is procedural, and so does not return values.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CUNWIND-PROTECT : (protected-form &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;THROW : (tag result)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 8 : Macros =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node97.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.1 : Macro Definition ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node98.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFMACRO : (name pattern &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SubL Macros are expanded at translation-time. Full Common Lisp macro support is available. However, the macro-expander must use [[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] to return the expansion. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.3 : Destructuring ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node100.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDESTRUCTURING-BIND : (pattern datum &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.5 : Environments ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node102.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VARIABLE-INFORMATION : (variable)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTION-INFORMATION : (function)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 9 : Declarations =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node103.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 9.1 : Declaration Syntax ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node104.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DECLARE : (&amp;amp;amp;rest ignore)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PROCLAIM : (declaration-specifier)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DECLAIM : (&amp;amp;amp;rest declaration-specifiers)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 9.2 : Declaration Specifiers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node105.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;IGNORE : (&amp;amp;amp;rest values)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[#FN-DEF-IGNORE|&amp;lt;code&amp;gt;IGNORE&amp;lt;/code&amp;gt;]] function can be used to indicate that a particular variable&amp;#039;s value is not used. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 10 : Symbols =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node107.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOLP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.1 : The Property List ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node108.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET : (symbol indicator &amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PUT : (symbol indicator new-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMPROP : (symbol indicator)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-PLIST : (symbol)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.2 : The Print Name ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node109.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-NAME : (symbol)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the string which is the name of SYMBOL. When called on a keyword, it returns the &amp;amp;quot;:&amp;amp;quot; prefix as part of the name [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.3 : Creating Symbols ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node110.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-SYMBOL : (print-name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GENSYM : (&amp;amp;amp;optional x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
GENSYM returns new, interned symbols, which are combinations of a string prefix and a numeric suffix. It guarantees that the new symbol was not previously interned.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the argument X is a number, the gensym counter (used to generate the suffix) is set to X before the new symbol is generated.&amp;lt;br /&amp;gt;&lt;br /&gt;
if the argument X is a string, the gensym prefix is set to X before the new symbol is generated.&amp;lt;br /&amp;gt;&lt;br /&gt;
The initial gensym counter value is 1 and the initial gensym prefix is &amp;#039;G&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GENTEMP : (&amp;amp;amp;optional (prefix &amp;amp;quot;T&amp;amp;quot;))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;KEYWORDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In SubL, which does not have packages, keywords are any symbol whose name begins with &amp;amp;quot;:&amp;amp;quot; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 11 : Packages =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node111.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;IN-PACKAGE : (name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTERN : (string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Finds and returns a symbol whose name is STRING. INTERN will create the symbol if it does not exist. Unlike Common LISP intern, the SubL version does not allow an argument to specify the package, since SubL does not support packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND-SYMBOL : (string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Finds and returns a symbol whose name is STRING. Unlike Common LISP FIND-SYMBOL, the SubL version does not allow an argument to specify the package, since SubL does not support packages. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 12 : Numbers =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node121.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL only supports fixnums and floats. Fixnums have at least 28 bits of precision.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUMBERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIXNUMP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOATP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.2 : Predicates on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node123.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ZEROP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PLUSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MINUSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ODDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EVENP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.3 : Comparisons on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node124.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;/= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;lt; : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;gt; : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;lt;= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;gt;= : (num1 num2)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above numeric comparison functions take exactly 2 arguments, unlike their Common Lisp counterparts which take variable numbers of arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAX : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MIN : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.4 : Arithmetic Operations ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node125.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;+ : (&amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;- : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;* : (&amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;/ : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INT/ : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CINC : (place &amp;amp;amp;optional (delta 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDEC : (place &amp;amp;amp;optional (delta 1))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.5 : Irrational and Transcendental Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node126.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any irrational, transcendental or trigonometric functions. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.6 : Type Conversions and Component Extractions on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node130.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOAT : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOOR : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CEILING : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TRUNCATE : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ROUND : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MOD : (number divisor)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REM : (number divisor)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SCALE-FLOAT : (float integer)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGER-DECODE-FLOAT : (float)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.7 : Logical Operations on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node131.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any logical operations on numbers. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.8 : Byte Manipulation Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node132.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;BYTE : (size position)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LDB : (bytespec integer)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DPB : (newbyte bytespec integer)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.9 : Random Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node133.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*RAND-MAX*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*rand-max* is the largest fixnum that the function random can accept.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEED-RANDOM : (&amp;amp;amp;optional (seed-fixnum (mod (get-internal-real-time) *rand-max*)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If seed-fixnum is omitted to seed-random, the internal clock is used&amp;lt;br /&amp;gt;&lt;br /&gt;
in an implementation specific manner.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RANDOM : (number)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.10 : Implementation Parameters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node134.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MOST-POSITIVE-FIXNUM*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MOST-NEGATIVE-FIXNUM*&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 13 : Characters =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node135.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHARACTERP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.1 : Character Attributes ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node136.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any attributes for characters. A character exists for each ASCII character code between 0 and 255 inclusive. Thus, the SubL equivalent of Common Lisp&amp;#039;s &amp;lt;code&amp;gt;CHAR-CODE-LIMIT&amp;lt;/code&amp;gt; is 256. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.2 : Predicates on Characters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node137.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ALPHA-CHAR-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;UPPER-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LOWER-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BOTH-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DIGIT-CHAR-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ALPHANUMERICP : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR/= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;lt; : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;gt; : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;lt;= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;gt;= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-EQUAL : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-EQUAL : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-LESSP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-GREATERP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-GREATERP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-LESSP : (char1 char2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.3 : Character Construction and Selection ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node138.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-CODE : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CODE-CHAR : (code)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.4 : Character Conversions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node139.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-DOWNCASE : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-UPCASE : (char)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 14 : Sequences =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node141.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEQUENCEP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.1 : Simple Sequence Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node142.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ELT : (sequence index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSEQ : (sequence start &amp;amp;amp;optional end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-SEQ : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LENGTH : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REVERSE : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NREVERSE : (sequence)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.2 : Concatenating, Mapping and Reducing Sequences ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node143.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CCONCATENATE : (seq &amp;amp;amp;rest more-seqs)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CREDUCE : (function sequence &amp;amp;amp;optional (start 0) end (init-value :none))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.3 : Modifying Sequences ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node144.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILL : (sequence item &amp;amp;amp;optional (start 0) (end (length sequence)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REPLACE : (sequence1 sequence2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE : (item sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE-IF : (test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE : (item sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-IF : (test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE-DUPLICATES : (sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-DUPLICATES : (sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSTITUTE : (new old sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSTITUTE-IF : (new test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBSTITUTE : (new old sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBSTITUTE-IF : (new test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.4 : Searching Sequences for Terms ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node145.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;POSITION : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;POSITION-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COUNT : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COUNT-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MISMATCH : (seq1 seq2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEARCH : (seq1 seq2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.5 : Sorting and Merging ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node146.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SORT : (seq predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STABLE-SORT : (seq predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CMERGE : (seq1 seq2 predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 15 : Lists =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node147.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LISTP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ATOM : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.1 : Conses ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node148.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CAAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CADR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDDR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONS : (car cdr)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TREE-EQUAL : (tree1 tree2 &amp;amp;amp;optional (test #&amp;#039;eql))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.2 : Lists ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node149.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENDP : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST-LENGTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NTH : (n list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIRST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SECOND : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;THIRD : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FOURTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIFTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SIXTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEVENTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EIGHTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NINTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TENTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NTHCDR : (n list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST : (&amp;amp;amp;rest objects)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST* : (arg &amp;amp;amp;rest objects)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-LIST : (size &amp;amp;amp;optional initial-element)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPEND : (&amp;amp;amp;rest lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-LIST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-ALIST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-TREE : (tree)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REVAPPEND : (list1 list2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NCONC : (&amp;amp;amp;rest lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NRECONC : (list1 list2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPUSH : (item place)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPUSHNEW : (item place &amp;amp;amp;optional (test &amp;#039;#&amp;#039;eql) (key &amp;#039;#&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPOP : (place)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BUTLAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NBUTLAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LDIFF : (list sublist)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.3 : Alteration of List Structure ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node150.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RPLACA : (cons newcar)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RPLACD : (cons newcdr)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-NTH : (n list value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.4 : Substitution of Expressions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node151.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBST : (new old tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBST-IF : (new test tree &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBST : (new old tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBST-IF : (new test tree &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBLIS : (alist tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBLIS : (alist tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.5 : Using Lists as Sets ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node152.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MEMBER : (item list &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MEMBER-IF : (test list &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TAILP : (sublist list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ADJOIN : (item list &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;UNION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUNION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTERSECTION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NINTERSECTION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-DIFFERENCE : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSET-DIFFERENCE : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-EXCLUSIVE-OR : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSET-EXCLUSIVE-OR : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSETP : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.6 : Association Lists ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node153.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ACONS : (key datum alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PAIRLIS : (keys data &amp;amp;amp;optional alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ASSOC : (item alist &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ASSOC-IF : (predicate alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RASSOC : (item alist &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RASSOC-IF : (predicate alist)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 16 : Hash Tables =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node154.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 16.1 : Hash Table Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node155.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-HASH-TABLE : (size &amp;amp;amp;optional (test #&amp;#039;eql) (area default-cons-area))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;HASH-TABLE-P : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GETHASH : (key table &amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SETHASH : (key table value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMHASH : (key table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPHASH : (function table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CLRHASH : (table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;HASH-TABLE-COUNT : (table)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 16.2 : Primitive Hash Function ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node156.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SXHASH : (object)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 17 : Arrays =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node157.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL only supports one-dimensional arrays, which are called vectors.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTORP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 17.1 : Vector Creation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node158.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-VECTOR : (size &amp;amp;amp;optional initial-element)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTOR : (&amp;amp;amp;rest objects)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 17.2 : Vector Access ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node159.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;AREF : (vector index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-AREF : (vector index value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 18 : Strings =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node164.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRINGP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.1 : String Access ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node165.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR : (string index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-CHAR : (string index value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.2 : String Comparison ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node166.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-EQUAL : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;lt; : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;gt; : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;lt;= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;gt;= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING/= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-LESSP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-GREATERP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-GREATERP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-LESSP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-EQUAL : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.3 : String Construction and Manipulation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node167.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-STRING : (size &amp;amp;amp;optional (initial-element #\Space))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-LEFT-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-RIGHT-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-UPCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-DOWNCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-CAPITALIZE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-UPCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-DOWNCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-CAPITALIZE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 19 : Structures =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node168.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFSTRUCT : ((name &amp;amp;amp;rest options) &amp;amp;amp;body slots)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Like Common Lisp defstruct except:&lt;br /&gt;
&lt;br /&gt;
(1) slot initializations are not allowed.&lt;br /&gt;
&lt;br /&gt;
(2) the only other options:&amp;lt;br /&amp;gt;&lt;br /&gt;
(:conc-name whatever)&amp;lt;br /&amp;gt;&lt;br /&gt;
(:print-function #&amp;#039;whatever)&lt;br /&gt;
&lt;br /&gt;
the default structure print function is&amp;lt;br /&amp;gt;&lt;br /&gt;
default-struct-print-function : object stream depth&lt;br /&gt;
&lt;br /&gt;
(3) The make constructor takes no arguments and only makes an empty structure.&lt;br /&gt;
&lt;br /&gt;
(4) Reading of structures is not supported by the reader.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEFAULT-STRUCT-PRINT-FUNCTION : (object stream depth)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PRINTING-OBJECT : ((object stream) &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 20 : The Evaluator =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node179.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 20.1 : Run-Time Evaluation of Forms ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node180.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EVAL : (form)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSTANTP : (object &amp;amp;amp;optional env)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Common Lisp functions &amp;lt;code&amp;gt;evalhook&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;applyhook&amp;lt;/code&amp;gt; are not supported in SubL. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 20.2 : The Top-Level Loop ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node181.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;***&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For convenience, the top-level readloop binds the following variables after each form is evaluated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;*  the last value returned&lt;br /&gt;
**  the previous value of *&lt;br /&gt;
*** the previous value of **&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 21 : Streams =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node182.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STREAMP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.1 : Standard Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node183.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*STANDARD-INPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*STANDARD-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*NULL-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
A bit-sink output stream. All output is ignored&lt;br /&gt;
&lt;br /&gt;
The other standard streams supported by Common Lisp are not supported by SubL. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.2 : Creating new Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node184.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-TCP-STREAM : (host port)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.3 : Operations on Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node185.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STREAMP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INPUT-STREAM-P : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OUTPUT-STREAM-P : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CLOSE : (stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 22 : Input/Output =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node186.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1 : Printed Representation of SubL Objects ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node187.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.3 : Macro Characters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node190.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The SubL reader supports the following macro characters, whose meaning is identical to their meaning in Common Lisp :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Macro Character&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Â Â Â &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reader Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Begin reading a list.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
End reading a list or a vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;#039;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Read in a quoted expression.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Read a comment until end-of-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Begin or end reading a string.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;`&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Read in a backquoted expression.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In addition, the following comma-readers are supported inside of backquote :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;,  &lt;br /&gt;
,@  &lt;br /&gt;
,.&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Their behavior is identical to their Common Lisp counterparts. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.4 : Standard Dispatching Macro Character Syntax ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node191.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;#039;#&amp;#039;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; is the SubL standard dispatching macro character. The SubL reader supports the following dispatch macro character sequences, whose meanings are identical to their meanings in Common Lisp :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dispatch Sequence&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Â Â Â &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reader Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#\(&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Read a character constant.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;#&amp;#039;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Read a function constant.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;#(&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Begin reading a vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;#|&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Begin reading a comment section.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;|#&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
End reading a comment section.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Additionally, SubL supports the dispatch sequence &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;#$&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; as follows :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;#$foo&amp;lt;/code&amp;gt; reads the Cyc constant whose name is &amp;lt;code&amp;gt;&amp;amp;quot;foo&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.5 : The Readtable ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node192.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL internally uses a readtable, but it is not visible to the programmer. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.6 : What the Print Function Produces ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node193.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*PRINT-ESCAPE*&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.2.1 : Input from Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node195.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ : (&amp;amp;amp;optional (stream *standard-input*) (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns FORM if read was successful.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values NIL :ERROR if there was a reader error.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values EOF-VALUE :ERROR if EOF-ERROR-P is nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Causes an error if EOF-ERROR-P is not nil and EOF occurs.&lt;br /&gt;
&lt;br /&gt;
Differences from Common Lisp:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;`Numbers are only read in decimal notation with no specified radix.&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;No character modifiers: only standard chars plus specials like Space, Return etc.&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;The || notation and \\ syntax for symbols are not supported. []()function&amp;lt;/code&amp;gt;READ-LINE : (&amp;amp;amp;optional (stream &amp;#039;&amp;#039;standard-input&amp;#039;&amp;#039;) (eof-error-p t) (eof-value :eof))&amp;lt;code&amp;gt;[]()function&amp;lt;/code&amp;gt;READ-CHAR : (&amp;amp;amp;optional (stream &amp;#039;&amp;#039;standard-input&amp;#039;&amp;#039;) (eof-error-p t) (eof-value :eof))&amp;lt;code&amp;gt;[]()function&amp;lt;/code&amp;gt;UNREAD-CHAR : (char &amp;amp;amp;optional (stream &amp;#039;&amp;#039;standard-input&amp;#039;&amp;#039;))&amp;lt;code&amp;gt;[]()function&amp;lt;/code&amp;gt;READ-FROM-STRING : (string &amp;amp;amp;optional (eof-error-p t) (eof-value :eof) (start 0) end)`&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values FORM NEW-START if read was successful.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values NIL :ERROR if there was a reader error.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values EOF-VALUE :ERROR if EOF-ERROR-P is nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Causes an error if EOF-ERROR-P is not nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns a second value which is an integer indicating the position in the string to&amp;lt;br /&amp;gt;&lt;br /&gt;
start reading from again or :ERROR if there was some kind of reader error. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.2.2 : Input from Binary Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node196.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ-BYTE : (stream &amp;amp;amp;optional (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.1 : Output to Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node198.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE : (object &amp;amp;amp;optional (stream *standard-output*) (escape *print-escape*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRIN1 : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINT : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINC : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-TO-STRING : (object &amp;amp;amp;optional (escape *print-escape*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRIN1-TO-STRING : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINC-TO-STRING : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-CHAR : (char &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-STRING : (string &amp;amp;amp;optional (stream *standard-output*) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-LINE : (string &amp;amp;amp;optional (stream *standard-output*) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TERPRI : (&amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORCE-OUTPUT : (&amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.2 : Output to Binary Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node199.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-BYTE : (integer stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.3 : Formatted Output to Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node200.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORMAT : (destination control-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Format ARGUMENTS to the text stream DESTINATION according to the specifications in CONTROL-STRING. SubL format is more limited than the Common Lisp version: the only escapes allowed in the control string are: ~A ~a ~S ~s ~D ~d (with width and pad parameters optional) ~C ~c ~G ~g ~% ~~ [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 23 : File System Interface =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node202.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.1 : File Names ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node203.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*DEFAULT-PATHNAME-DEFAULTS*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSTRUCT-FILENAME : (directory-list filename &amp;amp;amp;optional extension relative?)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pathnames are just strings in SubL. Common Lisp pathname objects are not supported. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.2 : Opening and Closing Files ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node215.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-TEXT : (filename direction)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Attempts to open the file FILENAME. If successful, returns an 8-bit character text stream. If DIRECTION is :input, then input operations can be performed on the stream. If DIRECTION is output, then output is directed to the file FILENAME, overwriting any existing file. If DIRECTION is :append, then output is appended to the file. For either output case, a new file is created if no file named FILENAME already exists.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-BINARY : (filename direction)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Attempts to open the file FILENAME. If successful, returns an 8-bit binary byte stream. If DIRECTION is :input, then input operations can be performed on the stream. If DIRECTION is output, then output is directed to the file FILENAME, overwriting any existing file. If DIRECTION is :append, then output is appended to the file. For either output case, a new file is created if no file named FILENAME already exists.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-TEXT-FILE : ((stream filestring direction) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In the scope of a WITH-TEXT-FILE expression, the file FILESTRING is opened for character i/o and a stream to this file is created and bound to the variable STREAM. If DIRECTION is :input, then input operations can be performed on STREAM. If DIRECTION is :output, then output operations can be performed, overwriting any existing file. If DIRECTION is :append, then output is appended to an existing file.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-BINARY-FILE : ((stream filestring direction) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In the scope of a WITH-BINARY-FILE expression, the file FILESTRING is opened for binary i/o and a stream to this file is created and bound to the variable STREAM. If DIRECTION is :input, then input operations can be performed on STREAM. If DIRECTION is :output, then output operations can be performed, overwriting any existing file. If DIRECTION is :append, then output is appended to an existing file. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.3 : Renaming, Deleting and Other File Operations ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node216.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RENAME-FILE : (filename new-name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-FILE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PROBE-FILE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPEND-FILES : (filename-1 filename-2 &amp;amp;amp;optional (mode :text))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Append filename-1 to filename-2&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-WRITE-DATE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-AUTHOR : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-FILE-POSITION : (stream)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-FILE-POSITION : (stream n)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-LENGTH : (stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.4 : Loading Files ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node217.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LOAD : (filename)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.5 : Accessing Directories ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node218.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DIRECTORY : (directory-name &amp;amp;amp;optional include-directory)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 24 : Errors =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node219.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 24.1 : General Error-Signalling Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node220.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-ABORT-HANDLER*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If *error-abort-handler* is non-nil, then an ABORT option is available inside ERROR and CERROR.&amp;lt;br /&amp;gt;&lt;br /&gt;
If chosen, then the handler is funcalled on no arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-HANDLER*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If *ERROR-SIGNAL* is non-nil, then that function is called upon an error. Otherwise, the debugger is invoked.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-MESSAGE*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ERROR : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*CONTINUE-CERROR?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CERROR : (continue-string format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-WARNS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If T, all warnings forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WARN : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-BREAKS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If non-NIL, all break forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BREAK : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 24.2 : Specialized Error-Signalling Forms and Macros ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node221.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-MUSTS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If non-NIL, all must forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;MUST : (form format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SUSPEND-TYPE-CHECKING?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
CHECK-TYPE tests are performed iff this is non-nil&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CHECK-TYPE : (object pred)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 25 : Miscellaneous Features =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node223.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.1 : The Compiler ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node224.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL currently does not provide any compilation support. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.3 : Debugging Tools ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node230.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CTIME : (var &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEBUG : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Pauses execution and invokes the debugger. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.4.1 : Time Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node232.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*EPOCH*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*epoch* is the current epoch in use, which is a universal time.&amp;lt;br /&amp;gt;&lt;br /&gt;
The system needs to at least be able to handle epochs back to midnight Jan 1 1970.&amp;lt;br /&amp;gt;&lt;br /&gt;
*epoch* is globally initialized to midnight Jan 1 1970.&amp;lt;br /&amp;gt;&lt;br /&gt;
All universal times are relative to *epoch*.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-UNIVERSAL-TIME : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DECODE-UNIVERSAL-TIME : (universal-time)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENCODE-UNIVERSAL-TIME : (second minute hour date month year)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIME-FROM-NOW : (delta)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIME-HAS-ARRIVED? : (time)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENCODE-TIMESTRING : (second minute hour date month year)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIMESTRING : (&amp;amp;amp;optional (universal-time (get-universal-time)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
timestring returns a string in the format dd/mm/yy hh:mm:ss from the&amp;lt;br /&amp;gt;&lt;br /&gt;
universal time given. If none is given, the current time is used.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*CLOCK-GRANULARITY*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*clock-granularity* is the number of internal clock units per second.&amp;lt;br /&amp;gt;&lt;br /&gt;
time evals form and returns the number of internal clock units it took&amp;lt;br /&amp;gt;&lt;br /&gt;
to execute.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-INTERNAL-REAL-TIME : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SLEEP : (seconds)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.5 : Identity Function ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node234.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;IDENTITY : (object)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 28 : Common Lisp Object System =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node260.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFPOLYMORPHIC : (name lambda-list &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Defines a new polymorphic function that dispatches on the type of its first argument. &amp;amp;lt;body&amp;amp;gt; defines a default method. The function define-method can be used to define additional methods. For example:&lt;br /&gt;
&lt;br /&gt;
(defpolymorphic test (a b)&amp;lt;br /&amp;gt;&lt;br /&gt;
` `(list a b))&lt;br /&gt;
&lt;br /&gt;
(define-method test ((a cons) b)&amp;lt;br /&amp;gt;&lt;br /&gt;
` `(cons b a))&lt;br /&gt;
&lt;br /&gt;
(define-method test ((a fixnum) b)&amp;lt;br /&amp;gt;&lt;br /&gt;
` `(+ a b))&lt;br /&gt;
&lt;br /&gt;
The defpolymorphic form defines the function TEST with a default method.&amp;lt;br /&amp;gt;&lt;br /&gt;
` `The two define-method forms specialize the behavior of TEST for lists and fixnums.&lt;br /&gt;
&lt;br /&gt;
(test &amp;#039;foo &amp;#039;bar) =&amp;amp;gt; (FOO BAR)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;`(test &amp;#039;(foo) &amp;#039;bar) =&amp;amp;amp;gt; (BAR FOO)&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;(test 2 3) =&amp;amp;amp;gt; 5 []()macro&amp;lt;/code&amp;gt;DEFINE-METHOD : (name lambda-list &amp;amp;amp;body body)`&amp;lt;br /&amp;gt;&lt;br /&gt;
Defines a method for the polymorphic function &amp;amp;lt;name&amp;amp;gt; that runs if&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;lt;dispatch-arg&amp;amp;gt; is of type &amp;amp;lt;type&amp;amp;gt;. The lambda list must have the same&amp;lt;br /&amp;gt;&lt;br /&gt;
structure as in the DEFPOLYMORPHIC call. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= SubL-Specific Features =&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.1 : Signals&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SIGNAL-MAX*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
There are *signal-max* total signals available.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEFAULT-SIGNAL-HANDLER : (signal)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INSTALL-SIGNAL-HANDLER : (signal function)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.2 : System Properties&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-PROCESS-ID : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Return the current heavyweight process id of this current SubL&amp;lt;br /&amp;gt;&lt;br /&gt;
program. Return DEFAULT if this cannot be determined.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-MACHINE-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-NETWORK-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-USER-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.3 : Progress Pacifiers&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SILENT-PROGRESS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-ACTIVITY : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-ACTIVITY : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-NUMERIC-PROGRESS : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-NUMERIC-PROGRESS : (num)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-PERCENT-PROGRESS : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-PERCENT-PROGRESS : (index max)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.4 : Process Manipulation&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORK-PROCESS : (function &amp;amp;amp;optional callback output-file)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Spawn a heavyweight child process to call FUNCTION, which takes no arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
FUNCTION must return an integer.&amp;lt;br /&amp;gt;&lt;br /&gt;
CALLBACK, if provided, must be a function of one argument which is called&amp;lt;br /&amp;gt;&lt;br /&gt;
on the returned value within the address space of the parent process.&amp;lt;br /&amp;gt;&lt;br /&gt;
OUTPUT-FILE, if provided, is a file to which standard output and error are piped&amp;lt;br /&amp;gt;&lt;br /&gt;
while executing FUNCTION.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RESTART-PROCESS : (&amp;amp;amp;optional world-spec init-file-pathname init-form-spec)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Restart the current heavyweight process.&amp;lt;br /&amp;gt;&lt;br /&gt;
WORLD-SPEC, if provided, is the filename of a world to use.&amp;lt;br /&amp;gt;&lt;br /&gt;
INIT-FILE-PATHNAME, if provided, is a file of initializatio forms to eval.&amp;lt;br /&amp;gt;&lt;br /&gt;
INIT-FORM-SPEC, if provided, is a form to execute.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values used for these when the current process was started are used if unprovided.&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.5 : Memory Interaction&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GC : (&amp;amp;amp;optional level)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-STATIC-AREA : (&amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-IMAGE : (filename &amp;amp;amp;optional do-full-gc)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Save the current state of virtual memory in a file called FILENAME.&amp;lt;br /&amp;gt;&lt;br /&gt;
If DO-FULL-GC is true, then a full garbage collection is&amp;lt;br /&amp;gt;&lt;br /&gt;
performed before writing the image. Otherwise, a dynamic&amp;lt;br /&amp;gt;&lt;br /&gt;
garbage collection is performed and remaining objects are&amp;lt;br /&amp;gt;&lt;br /&gt;
promoted to being static ones.&lt;br /&gt;
&lt;br /&gt;
During the initialization of a SubL system at startup, variables defined via [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] have their initial values set via their state in the world file used at startup, ignoring the initial value specified by the code. [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] variables and [[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] global constants have their values initialized via the code on startup.&lt;br /&gt;
&lt;br /&gt;
The net result of this distinction is as follows: if a world is saved out via WRITE-IMAGE, and then used to restart a SubL system, the values of [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] variables will persist, while any changes to [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] variables will be lost when they are reset to their original code-specified initial values on startup. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= Index =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[#Index-A|A]] | [[#Index-B|B]] | [[#Index-C|C]] | [[#Index-D|D]] | [[#Index-E|E]] | [[#Index-F|F]] | [[#Index-G|G]] | [[#Index-H|H]] | [[#Index-I|I]] | [[#Index-J|J]] | [[#Index-K|K]] | [[#Index-L|L]] | [[#Index-M|M]] | [[#Index-N|N]] | [[#Index-O|O]] | [[#Index-P|P]] | [[#Index-Q|Q]] | [[#Index-R|R]] | [[#Index-S|S]] | [[#Index-T|T]] | [[#Index-U|U]] | [[#Index-V|V]] | [[#Index-W|W]] | [[#Index-X|X]] | [[#Index-Y|Y]] | [[#Index-Z|Z]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-1280|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1280|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-165120|&amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-21136640|&amp;lt;code&amp;gt;***&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1161467279|&amp;lt;code&amp;gt;*CLOCK-GRANULARITY*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1424597890|&amp;lt;code&amp;gt;*CONTINUE-CERROR?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-609384130|&amp;lt;code&amp;gt;*DEFAULT-PATHNAME-DEFAULTS*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-2020021124|&amp;lt;code&amp;gt;*EPOCH*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-860597104|&amp;lt;code&amp;gt;*ERROR-ABORT-HANDLER*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-354311860|&amp;lt;code&amp;gt;*ERROR-HANDLER*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1079241228|&amp;lt;code&amp;gt;*ERROR-MESSAGE*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-704643174|&amp;lt;code&amp;gt;*ERROR-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-204607828|&amp;lt;code&amp;gt;*IGNORE-BREAKS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-2065003033|&amp;lt;code&amp;gt;*IGNORE-MUSTS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1528898064|&amp;lt;code&amp;gt;*IGNORE-WARNS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1188374285|&amp;lt;code&amp;gt;*MOST-NEGATIVE-FIXNUM*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-113980253|&amp;lt;code&amp;gt;*MOST-POSITIVE-FIXNUM*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1624760991|&amp;lt;code&amp;gt;*MULTIPLE-VALUES-LIMIT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1405149315|&amp;lt;code&amp;gt;*NULL-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-313735324|&amp;lt;code&amp;gt;*PRINT-ESCAPE*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-430643141|&amp;lt;code&amp;gt;*RAND-MAX*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-371148559|&amp;lt;code&amp;gt;*SIGNAL-MAX*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-694198800|&amp;lt;code&amp;gt;*SILENT-PROGRESS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1112282190|&amp;lt;code&amp;gt;*STANDARD-INPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1982975489|&amp;lt;code&amp;gt;*STANDARD-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1570894042|&amp;lt;code&amp;gt;*SUSPEND-TYPE-CHECKING?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-+|&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF--|&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-/|&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-/=|&amp;lt;code&amp;gt;/=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-3584|&amp;lt;code&amp;gt;&amp;amp;lt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-462464|&amp;lt;code&amp;gt;&amp;amp;lt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-=|&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-3840|&amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-495232|&amp;lt;code&amp;gt;&amp;amp;gt;=&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== A ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-ACONS|&amp;lt;code&amp;gt;ACONS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ADJOIN|&amp;lt;code&amp;gt;ADJOIN&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALERT-USER|&amp;lt;code&amp;gt;ALERT-USER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALPHA-CHAR-P|&amp;lt;code&amp;gt;ALPHA-CHAR-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALPHANUMERICP|&amp;lt;code&amp;gt;ALPHANUMERICP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPEND|&amp;lt;code&amp;gt;APPEND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPEND-FILES|&amp;lt;code&amp;gt;APPEND-FILES&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-AREF|&amp;lt;code&amp;gt;AREF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ASSOC|&amp;lt;code&amp;gt;ASSOC&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ASSOC-IF|&amp;lt;code&amp;gt;ASSOC-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ATOM|&amp;lt;code&amp;gt;ATOM&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== B ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-BOTH-CASE-P|&amp;lt;code&amp;gt;BOTH-CASE-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BOUNDP|&amp;lt;code&amp;gt;BOUNDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BREAK|&amp;lt;code&amp;gt;BREAK&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BUTLAST|&amp;lt;code&amp;gt;BUTLAST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BYTE|&amp;lt;code&amp;gt;BYTE&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== C ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-CAAR|&amp;lt;code&amp;gt;CAAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CADR|&amp;lt;code&amp;gt;CADR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAND|&amp;lt;code&amp;gt;CAND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAR|&amp;lt;code&amp;gt;CAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CCATCH|&amp;lt;code&amp;gt;CCATCH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CCONCATENATE|&amp;lt;code&amp;gt;CCONCATENATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDAR|&amp;lt;code&amp;gt;CDAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDDR|&amp;lt;code&amp;gt;CDDR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDEC|&amp;lt;code&amp;gt;CDEC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDESTRUCTURING-BIND|&amp;lt;code&amp;gt;CDESTRUCTURING-BIND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDO|&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOHASH|&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOTIMES|&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDR|&amp;lt;code&amp;gt;CDR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CEILING|&amp;lt;code&amp;gt;CEILING&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CERROR|&amp;lt;code&amp;gt;CERROR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR|&amp;lt;code&amp;gt;CHAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-CODE|&amp;lt;code&amp;gt;CHAR-CODE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-DOWNCASE|&amp;lt;code&amp;gt;CHAR-DOWNCASE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-EQUAL|&amp;lt;code&amp;gt;CHAR-EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-GREATERP|&amp;lt;code&amp;gt;CHAR-GREATERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-LESSP|&amp;lt;code&amp;gt;CHAR-LESSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-EQUAL|&amp;lt;code&amp;gt;CHAR-NOT-EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-GREATERP|&amp;lt;code&amp;gt;CHAR-NOT-GREATERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-LESSP|&amp;lt;code&amp;gt;CHAR-NOT-LESSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-UPCASE|&amp;lt;code&amp;gt;CHAR-UPCASE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR/=|&amp;lt;code&amp;gt;CHAR/=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-137661468|&amp;lt;code&amp;gt;CHAR&amp;amp;lt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-440795332|&amp;lt;code&amp;gt;CHAR&amp;amp;lt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR=|&amp;lt;code&amp;gt;CHAR=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-137661724|&amp;lt;code&amp;gt;CHAR&amp;amp;gt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-440828100|&amp;lt;code&amp;gt;CHAR&amp;amp;gt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHARACTERP|&amp;lt;code&amp;gt;CHARACTERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHECK-TYPE|&amp;lt;code&amp;gt;CHECK-TYPE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CINC|&amp;lt;code&amp;gt;CINC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLOSE|&amp;lt;code&amp;gt;CLOSE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLRHASH|&amp;lt;code&amp;gt;CLRHASH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CMERGE|&amp;lt;code&amp;gt;CMERGE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CMULTIPLE-VALUE-BIND|&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CNOT|&amp;lt;code&amp;gt;CNOT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CODE-CHAR|&amp;lt;code&amp;gt;CODE-CHAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONS|&amp;lt;code&amp;gt;CONS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSP|&amp;lt;code&amp;gt;CONSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSTANTP|&amp;lt;code&amp;gt;CONSTANTP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSTRUCT-FILENAME|&amp;lt;code&amp;gt;CONSTRUCT-FILENAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-ALIST|&amp;lt;code&amp;gt;COPY-ALIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-LIST|&amp;lt;code&amp;gt;COPY-LIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-SEQ|&amp;lt;code&amp;gt;COPY-SEQ&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-TREE|&amp;lt;code&amp;gt;COPY-TREE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COR|&amp;lt;code&amp;gt;COR&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COUNT|&amp;lt;code&amp;gt;COUNT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COUNT-IF|&amp;lt;code&amp;gt;COUNT-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPOP|&amp;lt;code&amp;gt;CPOP&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPROGV|&amp;lt;code&amp;gt;CPROGV&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPUSH|&amp;lt;code&amp;gt;CPUSH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPUSHNEW|&amp;lt;code&amp;gt;CPUSHNEW&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CREDUCE|&amp;lt;code&amp;gt;CREDUCE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSOME|&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CTIME|&amp;lt;code&amp;gt;CTIME&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CUNWIND-PROTECT|&amp;lt;code&amp;gt;CUNWIND-PROTECT&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== D ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-DEBUG|&amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECLAIM|&amp;lt;code&amp;gt;DECLAIM&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECLARE|&amp;lt;code&amp;gt;DECLARE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECODE-UNIVERSAL-TIME|&amp;lt;code&amp;gt;DECODE-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFAULT-SIGNAL-HANDLER|&amp;lt;code&amp;gt;DEFAULT-SIGNAL-HANDLER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFAULT-STRUCT-PRINT-FUNCTION|&amp;lt;code&amp;gt;DEFAULT-STRUCT-PRINT-FUNCTION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFINE|&amp;lt;code&amp;gt;DEFINE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFINE-METHOD|&amp;lt;code&amp;gt;DEFINE-METHOD&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFMACRO|&amp;lt;code&amp;gt;DEFMACRO&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFPOLYMORPHIC|&amp;lt;code&amp;gt;DEFPOLYMORPHIC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFSTRUCT|&amp;lt;code&amp;gt;DEFSTRUCT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE|&amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-DUPLICATES|&amp;lt;code&amp;gt;DELETE-DUPLICATES&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-FILE|&amp;lt;code&amp;gt;DELETE-FILE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-IF|&amp;lt;code&amp;gt;DELETE-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DIGIT-CHAR-P|&amp;lt;code&amp;gt;DIGIT-CHAR-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DIRECTORY|&amp;lt;code&amp;gt;DIRECTORY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DPB|&amp;lt;code&amp;gt;DPB&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== E ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-EIGHTH|&amp;lt;code&amp;gt;EIGHTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ELT|&amp;lt;code&amp;gt;ELT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENCODE-TIMESTRING|&amp;lt;code&amp;gt;ENCODE-TIMESTRING&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENCODE-UNIVERSAL-TIME|&amp;lt;code&amp;gt;ENCODE-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENDP|&amp;lt;code&amp;gt;ENDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQ|&amp;lt;code&amp;gt;EQ&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQL|&amp;lt;code&amp;gt;EQL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQUAL|&amp;lt;code&amp;gt;EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQUALP|&amp;lt;code&amp;gt;EQUALP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ERROR|&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EVAL|&amp;lt;code&amp;gt;EVAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EVENP|&amp;lt;code&amp;gt;EVENP&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== F ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-FBOUNDP|&amp;lt;code&amp;gt;FBOUNDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIF|&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIFTH|&amp;lt;code&amp;gt;FIFTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-AUTHOR|&amp;lt;code&amp;gt;FILE-AUTHOR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-LENGTH|&amp;lt;code&amp;gt;FILE-LENGTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-WRITE-DATE|&amp;lt;code&amp;gt;FILE-WRITE-DATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILL|&amp;lt;code&amp;gt;FILL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND|&amp;lt;code&amp;gt;FIND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND-IF|&amp;lt;code&amp;gt;FIND-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND-SYMBOL|&amp;lt;code&amp;gt;FIND-SYMBOL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIRST|&amp;lt;code&amp;gt;FIRST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIXNUMP|&amp;lt;code&amp;gt;FIXNUMP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOAT|&amp;lt;code&amp;gt;FLOAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOATP|&amp;lt;code&amp;gt;FLOATP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOOR|&amp;lt;code&amp;gt;FLOOR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FMAKUNBOUND|&amp;lt;code&amp;gt;FMAKUNBOUND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORCE-OUTPUT|&amp;lt;code&amp;gt;FORCE-OUTPUT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORK-PROCESS|&amp;lt;code&amp;gt;FORK-PROCESS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORMAT|&amp;lt;code&amp;gt;FORMAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FOURTH|&amp;lt;code&amp;gt;FOURTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION|&amp;lt;code&amp;gt;FUNCTION&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION-INFORMATION|&amp;lt;code&amp;gt;FUNCTION-INFORMATION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTIONP|&amp;lt;code&amp;gt;FUNCTIONP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNLESS|&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FWHEN|&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== G ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-GC|&amp;lt;code&amp;gt;GC&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GENSYM|&amp;lt;code&amp;gt;GENSYM&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GENTEMP|&amp;lt;code&amp;gt;GENTEMP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET|&amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-CONSING-STATE|&amp;lt;code&amp;gt;GET-CONSING-STATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-FILE-POSITION|&amp;lt;code&amp;gt;GET-FILE-POSITION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-INTERNAL-REAL-TIME|&amp;lt;code&amp;gt;GET-INTERNAL-REAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-MACHINE-NAME|&amp;lt;code&amp;gt;GET-MACHINE-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-NETWORK-NAME|&amp;lt;code&amp;gt;GET-NETWORK-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-PROCESS-ID|&amp;lt;code&amp;gt;GET-PROCESS-ID&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-STRING-FROM-USER|&amp;lt;code&amp;gt;GET-STRING-FROM-USER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-UNIVERSAL-TIME|&amp;lt;code&amp;gt;GET-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-USER-NAME|&amp;lt;code&amp;gt;GET-USER-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GETHASH|&amp;lt;code&amp;gt;GETHASH&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== H ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-HASH-TABLE-COUNT|&amp;lt;code&amp;gt;HASH-TABLE-COUNT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-HASH-TABLE-P|&amp;lt;code&amp;gt;HASH-TABLE-P&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== I ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-IDENTITY|&amp;lt;code&amp;gt;IDENTITY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IGNORE|&amp;lt;code&amp;gt;IGNORE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IN-PACKAGE|&amp;lt;code&amp;gt;IN-PACKAGE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INPUT-STREAM-P|&amp;lt;code&amp;gt;INPUT-STREAM-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INSTALL-SIGNAL-HANDLER|&amp;lt;code&amp;gt;INSTALL-SIGNAL-HANDLER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INT/|&amp;lt;code&amp;gt;INT/&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTEGER-DECODE-FLOAT|&amp;lt;code&amp;gt;INTEGER-DECODE-FLOAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTEGERP|&amp;lt;code&amp;gt;INTEGERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTERN|&amp;lt;code&amp;gt;INTERN&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTERSECTION|&amp;lt;code&amp;gt;INTERSECTION&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== J ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== K ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-KEYWORDP|&amp;lt;code&amp;gt;KEYWORDP&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== L ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-LAST|&amp;lt;code&amp;gt;LAST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LDB|&amp;lt;code&amp;gt;LDB&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LDIFF|&amp;lt;code&amp;gt;LDIFF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LENGTH|&amp;lt;code&amp;gt;LENGTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LIST|&amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-443877220|&amp;lt;code&amp;gt;LIST*&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LIST-LENGTH|]]&amp;lt;code&amp;gt;LIST-LENGTH&amp;lt;/code&amp;gt; function function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LISTP|]]&amp;lt;code&amp;gt;LISTP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOAD|]]&amp;lt;code&amp;gt;LOAD&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOG-MESSAGE|]]&amp;lt;code&amp;gt;LOG-MESSAGE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOWER-CASE-P|]]&amp;lt;code&amp;gt;LOWER-CASE-P&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== M ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-MAKE-HASH-TABLE|]]&amp;lt;code&amp;gt;MAKE-HASH-TABLE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-LIST|]]&amp;lt;code&amp;gt;MAKE-LIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-STRING|]]&amp;lt;code&amp;gt;MAKE-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-SYMBOL|]]&amp;lt;code&amp;gt;MAKE-SYMBOL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-VECTOR|]]&amp;lt;code&amp;gt;MAKE-VECTOR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKUNBOUND|]]&amp;lt;code&amp;gt;MAKUNBOUND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPC|]]&amp;lt;code&amp;gt;MAPC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCAN|]]&amp;lt;code&amp;gt;MAPCAN&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCAR|]]&amp;lt;code&amp;gt;MAPCAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCON|]]&amp;lt;code&amp;gt;MAPCON&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPHASH|]]&amp;lt;code&amp;gt;MAPHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPL|]]&amp;lt;code&amp;gt;MAPL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPLIST|]]&amp;lt;code&amp;gt;MAPLIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAX|]]&amp;lt;code&amp;gt;MAX&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MEMBER|]]&amp;lt;code&amp;gt;MEMBER&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MEMBER-IF|]]&amp;lt;code&amp;gt;MEMBER-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MIN|]]&amp;lt;code&amp;gt;MIN&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MINUSP|]]&amp;lt;code&amp;gt;MINUSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MISMATCH|]]&amp;lt;code&amp;gt;MISMATCH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MOD|]]&amp;lt;code&amp;gt;MOD&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MULTIPLE-VALUE-LIST|]]&amp;lt;code&amp;gt;MULTIPLE-VALUE-LIST&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MUST|]]&amp;lt;code&amp;gt;MUST&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== N ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-NBUTLAST|]]&amp;lt;code&amp;gt;NBUTLAST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NCONC|]]&amp;lt;code&amp;gt;NCONC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NINTERSECTION|]]&amp;lt;code&amp;gt;NINTERSECTION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NINTH|]]&amp;lt;code&amp;gt;NINTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-ACTIVITY|]]&amp;lt;code&amp;gt;NOTE-ACTIVITY&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-NUMERIC-PROGRESS|]]&amp;lt;code&amp;gt;NOTE-NUMERIC-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-PERCENT-PROGRESS|]]&amp;lt;code&amp;gt;NOTE-PERCENT-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTIFY-USER|]]&amp;lt;code&amp;gt;NOTIFY-USER&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-ACTIVITY|]]&amp;lt;code&amp;gt;NOTING-ACTIVITY&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-NUMERIC-PROGRESS|]]&amp;lt;code&amp;gt;NOTING-NUMERIC-PROGRESS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-PERCENT-PROGRESS|]]&amp;lt;code&amp;gt;NOTING-PERCENT-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NRECONC|]]&amp;lt;code&amp;gt;NRECONC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NREVERSE|]]&amp;lt;code&amp;gt;NREVERSE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSET-DIFFERENCE|]]&amp;lt;code&amp;gt;NSET-DIFFERENCE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSET-EXCLUSIVE-OR|]]&amp;lt;code&amp;gt;NSET-EXCLUSIVE-OR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-CAPITALIZE|]]&amp;lt;code&amp;gt;NSTRING-CAPITALIZE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-DOWNCASE|]]&amp;lt;code&amp;gt;NSTRING-DOWNCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-UPCASE|]]&amp;lt;code&amp;gt;NSTRING-UPCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBLIS|]]&amp;lt;code&amp;gt;NSUBLIS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBST|]]&amp;lt;code&amp;gt;NSUBST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBST-IF|]]&amp;lt;code&amp;gt;NSUBST-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBSTITUTE|]]&amp;lt;code&amp;gt;NSUBSTITUTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBSTITUTE-IF|]]&amp;lt;code&amp;gt;NSUBSTITUTE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NTH|]]&amp;lt;code&amp;gt;NTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NTHCDR|]]&amp;lt;code&amp;gt;NTHCDR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NULL|]]&amp;lt;code&amp;gt;NULL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NUMBERP|]]&amp;lt;code&amp;gt;NUMBERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NUNION|]]&amp;lt;code&amp;gt;NUNION&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== O ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-ODDP|]]&amp;lt;code&amp;gt;ODDP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-BINARY|]]&amp;lt;code&amp;gt;OPEN-BINARY&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-TCP-STREAM|]]&amp;lt;code&amp;gt;OPEN-TCP-STREAM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-TEXT|]]&amp;lt;code&amp;gt;OPEN-TEXT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OUTPUT-STREAM-P|]]&amp;lt;code&amp;gt;OUTPUT-STREAM-P&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== P ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-PAIRLIS|]]&amp;lt;code&amp;gt;PAIRLIS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PCASE|]]&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PCOND|]]&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PIF|]]&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PLUSP|]]&amp;lt;code&amp;gt;PLUSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-POSITION|]]&amp;lt;code&amp;gt;POSITION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-POSITION-IF|]]&amp;lt;code&amp;gt;POSITION-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRIN1|]]&amp;lt;code&amp;gt;PRIN1&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRIN1-TO-STRING|]]&amp;lt;code&amp;gt;PRIN1-TO-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINC|]]&amp;lt;code&amp;gt;PRINC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINC-TO-STRING|]]&amp;lt;code&amp;gt;PRINC-TO-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINT|]]&amp;lt;code&amp;gt;PRINT&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINTING-OBJECT|]]&amp;lt;code&amp;gt;PRINTING-OBJECT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROBE-FILE|]]&amp;lt;code&amp;gt;PROBE-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROCLAIM|]]&amp;lt;code&amp;gt;PROCLAIM&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROGN|]]&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PUNLESS|]]&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PUT|]]&amp;lt;code&amp;gt;PUT&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PWHEN|]]&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Q ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-QUOTE|]]&amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== R ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-RANDOM|]]&amp;lt;code&amp;gt;RANDOM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RASSOC|]]&amp;lt;code&amp;gt;RASSOC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RASSOC-IF|]]&amp;lt;code&amp;gt;RASSOC-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ|]]&amp;lt;code&amp;gt;READ&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-BYTE|]]&amp;lt;code&amp;gt;READ-BYTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-CHAR|]]&amp;lt;code&amp;gt;READ-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-FROM-STRING|]]&amp;lt;code&amp;gt;READ-FROM-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-LINE|]]&amp;lt;code&amp;gt;READ-LINE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REM|]]&amp;lt;code&amp;gt;REM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMHASH|]]&amp;lt;code&amp;gt;REMHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE|]]&amp;lt;code&amp;gt;REMOVE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE-DUPLICATES|]]&amp;lt;code&amp;gt;REMOVE-DUPLICATES&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE-IF|]]&amp;lt;code&amp;gt;REMOVE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMPROP|]]&amp;lt;code&amp;gt;REMPROP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RENAME-FILE|]]&amp;lt;code&amp;gt;RENAME-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REPLACE|]]&amp;lt;code&amp;gt;REPLACE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REPORT-ERROR|]]&amp;lt;code&amp;gt;REPORT-ERROR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REST|]]&amp;lt;code&amp;gt;REST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RESTART-PROCESS|]]&amp;lt;code&amp;gt;RESTART-PROCESS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RET|]]&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REVAPPEND|]]&amp;lt;code&amp;gt;REVAPPEND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REVERSE|]]&amp;lt;code&amp;gt;REVERSE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ROUND|]]&amp;lt;code&amp;gt;ROUND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RPLACA|]]&amp;lt;code&amp;gt;RPLACA&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RPLACD|]]&amp;lt;code&amp;gt;RPLACD&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== S ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-SCALE-FLOAT|]]&amp;lt;code&amp;gt;SCALE-FLOAT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEARCH|]]&amp;lt;code&amp;gt;SEARCH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SECOND|]]&amp;lt;code&amp;gt;SECOND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEED-RANDOM|]]&amp;lt;code&amp;gt;SEED-RANDOM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEQUENCEP|]]&amp;lt;code&amp;gt;SEQUENCEP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET|]]&amp;lt;code&amp;gt;SET&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-AREF|]]&amp;lt;code&amp;gt;SET-AREF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-CHAR|]]&amp;lt;code&amp;gt;SET-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-CONSING-STATE|]]&amp;lt;code&amp;gt;SET-CONSING-STATE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-DIFFERENCE|]]&amp;lt;code&amp;gt;SET-DIFFERENCE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-EXCLUSIVE-OR|]]&amp;lt;code&amp;gt;SET-EXCLUSIVE-OR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-FILE-POSITION|]]&amp;lt;code&amp;gt;SET-FILE-POSITION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-NTH|]]&amp;lt;code&amp;gt;SET-NTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SETHASH|]]&amp;lt;code&amp;gt;SETHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEVENTH|]]&amp;lt;code&amp;gt;SEVENTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SIXTH|]]&amp;lt;code&amp;gt;SIXTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SLEEP|]]&amp;lt;code&amp;gt;SLEEP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SORT|]]&amp;lt;code&amp;gt;SORT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STABLE-SORT|]]&amp;lt;code&amp;gt;STABLE-SORT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STREAMP|]]&amp;lt;code&amp;gt;STREAMP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING|]]&amp;lt;code&amp;gt;STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-CAPITALIZE|]]&amp;lt;code&amp;gt;STRING-CAPITALIZE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-DOWNCASE|]]&amp;lt;code&amp;gt;STRING-DOWNCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-EQUAL|]]&amp;lt;code&amp;gt;STRING-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-GREATERP|]]&amp;lt;code&amp;gt;STRING-GREATERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-LEFT-TRIM|]]&amp;lt;code&amp;gt;STRING-LEFT-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-LESSP|]]&amp;lt;code&amp;gt;STRING-LESSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-EQUAL|]]&amp;lt;code&amp;gt;STRING-NOT-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-GREATERP|]]&amp;lt;code&amp;gt;STRING-NOT-GREATERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-LESSP|]]&amp;lt;code&amp;gt;STRING-NOT-LESSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-RIGHT-TRIM|]]&amp;lt;code&amp;gt;STRING-RIGHT-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-TRIM|]]&amp;lt;code&amp;gt;STRING-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-UPCASE|]]&amp;lt;code&amp;gt;STRING-UPCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING/=|]]&amp;lt;code&amp;gt;STRING/=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-427203732|]]&amp;lt;code&amp;gt;STRING&amp;amp;lt;&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-994985164|]]&amp;lt;code&amp;gt;STRING&amp;amp;lt;=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING=|]]&amp;lt;code&amp;gt;STRING=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-427203988|]]&amp;lt;code&amp;gt;STRING&amp;amp;gt;&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-995017932|]]&amp;lt;code&amp;gt;STRING&amp;amp;gt;=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRINGP|]]&amp;lt;code&amp;gt;STRINGP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBLIS|]]&amp;lt;code&amp;gt;SUBLIS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSEQ|]]&amp;lt;code&amp;gt;SUBSEQ&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSETP|]]&amp;lt;code&amp;gt;SUBSETP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBST|]]&amp;lt;code&amp;gt;SUBST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBST-IF|]]&amp;lt;code&amp;gt;SUBST-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSTITUTE|]]&amp;lt;code&amp;gt;SUBSTITUTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSTITUTE-IF|]]&amp;lt;code&amp;gt;SUBSTITUTE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SXHASH|]]&amp;lt;code&amp;gt;SXHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-FUNCTION|]]&amp;lt;code&amp;gt;SYMBOL-FUNCTION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-NAME|]]&amp;lt;code&amp;gt;SYMBOL-NAME&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-PLIST|]]&amp;lt;code&amp;gt;SYMBOL-PLIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-VALUE|]]&amp;lt;code&amp;gt;SYMBOL-VALUE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOLP|]]&amp;lt;code&amp;gt;SYMBOLP&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== T ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-TAILP|]]&amp;lt;code&amp;gt;TAILP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TENTH|]]&amp;lt;code&amp;gt;TENTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TERPRI|]]&amp;lt;code&amp;gt;TERPRI&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-THIRD|]]&amp;lt;code&amp;gt;THIRD&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-THROW|]]&amp;lt;code&amp;gt;THROW&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIME-FROM-NOW|]]&amp;lt;code&amp;gt;TIME-FROM-NOW&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIME-HAS-ARRIVED?|]]&amp;lt;code&amp;gt;TIME-HAS-ARRIVED?&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIMESTRING|]]&amp;lt;code&amp;gt;TIMESTRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TREE-EQUAL|]]&amp;lt;code&amp;gt;TREE-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TRUNCATE|]]&amp;lt;code&amp;gt;TRUNCATE&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== U ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-UNION|]]&amp;lt;code&amp;gt;UNION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UNREAD-CHAR|]]&amp;lt;code&amp;gt;UNREAD-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UPPER-CASE-P|]]&amp;lt;code&amp;gt;UPPER-CASE-P&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-USER-CONFIRM|]]&amp;lt;code&amp;gt;USER-CONFIRM&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== V ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-VALUES|]]&amp;lt;code&amp;gt;VALUES&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VARIABLE-INFORMATION|]]&amp;lt;code&amp;gt;VARIABLE-INFORMATION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VECTOR|]]&amp;lt;code&amp;gt;VECTOR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VECTORP|]]&amp;lt;code&amp;gt;VECTORP&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== W ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-WARN|]]&amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-BINARY-FILE|]]&amp;lt;code&amp;gt;WITH-BINARY-FILE&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-STATIC-AREA|]]&amp;lt;code&amp;gt;WITH-STATIC-AREA&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-TEXT-FILE|]]&amp;lt;code&amp;gt;WITH-TEXT-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE|]]&amp;lt;code&amp;gt;WRITE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-BYTE|]]&amp;lt;code&amp;gt;WRITE-BYTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-CHAR|]]&amp;lt;code&amp;gt;WRITE-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-IMAGE|]]&amp;lt;code&amp;gt;WRITE-IMAGE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-LINE|]]&amp;lt;code&amp;gt;WRITE-LINE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-STRING|]]&amp;lt;code&amp;gt;WRITE-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-TO-STRING|]]&amp;lt;code&amp;gt;WRITE-TO-STRING&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== X ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Y ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Z ====&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-ZEROP|]]&amp;lt;code&amp;gt;ZEROP&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>DouglasRMiles</name></author>	</entry>

	<entry>
		<id>https://pdkb.chivanet.org/wiki/index.php?title=SubL&amp;diff=297</id>
		<title>SubL</title>
		<link rel="alternate" type="text/html" href="https://pdkb.chivanet.org/wiki/index.php?title=SubL&amp;diff=297"/>
				<updated>2017-04-17T09:53:21Z</updated>
		
		<summary type="html">&lt;p&gt;DouglasRMiles: Created page with &amp;quot;|  == [http://web.archive.org/web/20060325065433/http://www.opencyc.org File:/web/20060325065433im_/http://www.cyc.com/cycdoc/img/opencyc-logo-small.gif|OpenCyc.org Home...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[|]]&lt;br /&gt;
&lt;br /&gt;
== [http://web.archive.org/web/20060325065433/http://www.opencyc.org [[File:/web/20060325065433im_/http://www.cyc.com/cycdoc/img/opencyc-logo-small.gif|OpenCyc.org Homepage]]]SubL Reference ==&lt;br /&gt;
&lt;br /&gt;
E-Mail Comments to: [http://web.archive.org/web/20060325065433/mailto:opencyc-doc@cyc.com opencyc-doc@cyc.com]&amp;lt;br /&amp;gt;&lt;br /&gt;
Last Update: 03/28/2002&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;CopyrightÂ© 1996-2002 [http://web.archive.org/web/20060325065433/http://www.cyc.com Cycorp]. All rights reserved.&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= How to Use this Document =&lt;br /&gt;
&lt;br /&gt;
SubL is a computer language built by members of Cycorp. SubL was written to support the CycÂ® application, allowing it to run both under Lisp environments and as a C application generated by a SubL-to-C translator. This document describes the primitive functions of SubL.&lt;br /&gt;
&lt;br /&gt;
Due to the close similarities between SubL and Common Lisp, the [[#Table-of-Contents|Table of Contents]] and structure of this document intentionally mirror that of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;amp;quot;Common Lisp: The Language&amp;amp;quot;&amp;#039;&amp;#039;&amp;#039;,&amp;lt;br /&amp;gt;&lt;br /&gt;
2nd Edition,&amp;lt;br /&amp;gt;&lt;br /&gt;
Guy L. Steele Jr&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
making it easy to compare and contrast the two languages. For the most part, this document focuses only on the differences between SubL and Common Lisp.&lt;br /&gt;
&lt;br /&gt;
An online version of [http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/clm.html &amp;amp;quot;Common Lisp: The Language&amp;amp;quot;] can be found at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/clm.html &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;http://www.supelec.fr/docs/cltl/clm/clm.html&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;] **not working**&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
and an [http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html index to all Common Lisp functions] can be found at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;http://www.supelec.fr/docs/cltl/clm/index.html&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;] **this is working**&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Each section of this document contains a link labelled &amp;#039;&amp;#039;&amp;#039;&amp;amp;quot;CLtL2 Reference&amp;amp;quot;&amp;#039;&amp;#039;&amp;#039; to the corresponding sections of the above online Common Lisp reference. The reader is strongly encouraged to consult that reference in parallel with this document. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 0 : Table of Contents =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node1.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[#Table-of-Contents|0 : Table of Contents]]&lt;br /&gt;
* [[#Introduction|1 : Introduction]]&lt;br /&gt;
* [[#Data-Types|2 : Data Types]]&lt;br /&gt;
* [[#Scope-and-Extent|3 : Scope and Extent]]&lt;br /&gt;
* [[#Type-Specifiers|4 : Type Specifiers]]&lt;br /&gt;
* [[#Program-Structure|5 : Program Structure]]&lt;br /&gt;
** [[#Defining-Named-Functions|5.3.1 : Defining Named Functions]]&lt;br /&gt;
** [[#Declaring|5.3.2 : Declaring Global Variables and Named Constants]]&lt;br /&gt;
* [[#Predicates|6 : Predicates]]&lt;br /&gt;
** [[#Logical-Values|6.1 : Logical Values]]&lt;br /&gt;
** [[#Specific-Data-Type-Predicates|6.2.2 : Specific Data Type Predicates]]&lt;br /&gt;
** [[#Equality-Predicates|6.3 : Equality Predicates]]&lt;br /&gt;
** [[#Logical-Operators|6.4 : Logical Operators]]&lt;br /&gt;
* [[#Control-Structure|7 : Control Structure]]&lt;br /&gt;
** [[#Reference|7.1.1 : Reference]]&lt;br /&gt;
** [[#Assignment|7.1.2 : Assignment]]&lt;br /&gt;
** [[#Generalized-Variables|7.2 : Generalized Variables]]&lt;br /&gt;
** [[#Function-Invocation|7.3 : Function Invocation]]&lt;br /&gt;
** [[#Simple-Sequencing|7.4 : Simple Sequencing]]&lt;br /&gt;
** [[#Establishing-New-Variable-Bindings|7.5 : Establishing New Variable Bindings]]&lt;br /&gt;
** [[#Conditionals|7.6 : Conditionals]]&lt;br /&gt;
** [[#Blocks-and-Exits|7.7 : Blocks and Exits]]&lt;br /&gt;
** [[#General-Iteration|7.8.2 : General Iteration]]&lt;br /&gt;
** [[#Simple-Iteration-Constructs|7.8.3 : Simple Iteration Constructs]]&lt;br /&gt;
** [[#Mapping|7.8.4 : Mapping]]&lt;br /&gt;
** [[#Constructs-for-Handling-Multiple-Values|7.10.1 : Constructs for Handling Multiple Values]]&lt;br /&gt;
** [[#Rules-Governing-the-Passing-of-Multiple-Values|7.10.2 : Rules Governing the Passing of Multiple Values]]&lt;br /&gt;
** [[#Dynamic-Non-Local-Exits|7.11 : Dynamic Non-Local Exits]]&lt;br /&gt;
* [[#Macros|8 : Macros]]&lt;br /&gt;
** [[#Macro-Definition|8.1 : Macro Definition]]&lt;br /&gt;
** [[#Destructuring|8.3 : Destructuring]]&lt;br /&gt;
** [[#Environments|8.5 : Environments]]&lt;br /&gt;
* [[#Declarations|9 : Declarations]]&lt;br /&gt;
** [[#Declaration-Syntax|9.1 : Declaration Syntax]]&lt;br /&gt;
** [[#Declaration-Specifiers|9.2 : Declaration Specifiers]]&lt;br /&gt;
* [[#Symbols|10 : Symbols]]&lt;br /&gt;
** [[#The-Property-List|10.1 : The Property List]]&lt;br /&gt;
** [[#The-Print-Name|10.2 : The Print Name]]&lt;br /&gt;
** [[#Creating-Symbols|10.3 : Creating Symbols]]&lt;br /&gt;
* [[#Packages|11 : Packages]]&lt;br /&gt;
* [[#Numbers|12 : Numbers]]&lt;br /&gt;
** [[#Predicates-on-Numbers|12.2 : Predicates on Numbers]]&lt;br /&gt;
** [[#Comparisons-on-Numbers|12.3 : Comparisons on Numbers]]&lt;br /&gt;
** [[#Arithmetic-Operations|12.4 : Arithmetic Operations]]&lt;br /&gt;
** [[#Irrational-and-Transcendental-Functions|12.5 : Irrational and Transcendental Functions]]&lt;br /&gt;
** [[#Type-Conversions-and-Component-Extractions-on-Numbers|12.6 : Type Conversions and Component Extractions on Numbers]]&lt;br /&gt;
** [[#Logical-Operations-on-Numbers|12.7 : Logical Operations on Numbers]]&lt;br /&gt;
** [[#Byte-Manipulation-Functions|12.8 : Byte Manipulation Functions]]&lt;br /&gt;
** [[#Random-Numbers|12.9 : Random Numbers]]&lt;br /&gt;
** [[#Implementation-Parameters|12.10 : Implementation Parameters]]&lt;br /&gt;
* [[#Characters|13 : Characters]]&lt;br /&gt;
** [[#Character-Attributes|13.1 : Character Attributes]]&lt;br /&gt;
** [[#Predicates-on-Characters|13.2 : Predicates on Characters]]&lt;br /&gt;
** [[#Character-Construction-and-Selection|13.3 : Character Construction and Selection]]&lt;br /&gt;
** [[#Character-Conversions|13.4 : Character Conversions]]&lt;br /&gt;
* [[#Sequences|14 : Sequences]]&lt;br /&gt;
** [[#Simple-Sequence-Functions|14.1 : Simple Sequence Functions]]&lt;br /&gt;
** [[#Concatenating-Mapping-and-Reducing-Sequences|14.2 : Concatenating, Mapping and Reducing Sequences]]&lt;br /&gt;
** [[#Modifying-Sequences|14.3 : Modifying Sequences]]&lt;br /&gt;
** [[#Searching-Sequences-for-Terms|14.4 : Searching Sequences for Terms]]&lt;br /&gt;
** [[#Sorting-and-Merging|14.5 : Sorting and Merging]]&lt;br /&gt;
* [[#Lists-Chapter|15 : Lists]]&lt;br /&gt;
** [[#Conses|15.1 : Conses]]&lt;br /&gt;
** [[#Lists|15.2 : Lists]]&lt;br /&gt;
** [[#Alteration-of-List-Structure|15.3 : Alteration of List Structure]]&lt;br /&gt;
** [[#Substitution-of-Expressions|15.4 : Substitution of Expressions]]&lt;br /&gt;
** [[#Using-Lists-as-Sets|15.5 : Using Lists as Sets]]&lt;br /&gt;
** [[#Association-Lists|15.6 : Association Lists]]&lt;br /&gt;
* [[#Hash-Tables|16 : Hash Tables]]&lt;br /&gt;
** [[#Hash-Table-Functions|16.1 : Hash Table Functions]]&lt;br /&gt;
** [[#Primitive-Hash-Function|16.2 : Primitive Hash Function]]&lt;br /&gt;
* [[#Arrays|17 : Arrays]]&lt;br /&gt;
** [[#Vector-Creation|17.1 : Vector Creation]]&lt;br /&gt;
** [[#Vector-Access|17.2 : Vector Access]]&lt;br /&gt;
* [[#Strings|18 : Strings]]&lt;br /&gt;
** [[#String-Access|18.1 : String Access]]&lt;br /&gt;
** [[#String-Comparison|18.2 : String Comparison]]&lt;br /&gt;
** [[#String-Construction-and-Manipulation|18.3 : String Construction and Manipulation]]&lt;br /&gt;
* [[#Structures|19 : Structures]]&lt;br /&gt;
* [[#The-Evaluator|20 : The Evaluator]]&lt;br /&gt;
** [[#Run-Time-Evaluation-of-Forms|20.1 : Run-Time Evaluation of Forms]]&lt;br /&gt;
** [[#The-Top-Level-Loop|20.2 : The Top-Level Loop]]&lt;br /&gt;
* [[#Streams|21 : Streams]]&lt;br /&gt;
** [[#Standard-Streams|21.1 : Standard Streams]]&lt;br /&gt;
** [[#Creating-new-Streams|21.2 : Creating new Streams]]&lt;br /&gt;
** [[#Operations-on-Streams|21.3 : Operations on Streams]]&lt;br /&gt;
* [[#Input-Output|22 : Input/Output]]&lt;br /&gt;
** [[#Printed-Representation-of-SubL-Objects|22.1 : Printed Representation of SubL Objects]]&lt;br /&gt;
** [[#Macro-Characters|22.1.3 : Macro Characters]]&lt;br /&gt;
** [[#Standard-Dispatching-Macro-Character-Syntax|22.1.4 : Standard Dispatching Macro Character Syntax]]&lt;br /&gt;
** [[#The-Readtable|22.1.5 : The Readtable]]&lt;br /&gt;
** [[#What-the-Print-Function-Produces|22.1.6 : What the Print Function Produces]]&lt;br /&gt;
** [[#Input-from-Character-Streams|22.2.1 : Input from Character Streams]]&lt;br /&gt;
** [[#Input-from-Binary-Streams|22.2.2 : Input from Binary Streams]]&lt;br /&gt;
** [[#Output-to-Character-Streams|22.3.1 : Output to Character Streams]]&lt;br /&gt;
** [[#Output-to-Binary-Streams|22.3.2 : Output to Binary Streams]]&lt;br /&gt;
** [[#Formatted-Output-to-Character-Streams|22.3.3 : Formatted Output to Character Streams]]&lt;br /&gt;
* [[#File-System-Interface|23 : File System Interface]]&lt;br /&gt;
** [[#File-Names|23.1 : File Names]]&lt;br /&gt;
** [[#Opening-and-Closing-Files|23.2 : Opening and Closing Files]]&lt;br /&gt;
** [[#Renaming-Deleting-and-Other-File-Operations|23.3 : Renaming, Deleting and Other File Operations]]&lt;br /&gt;
** [[#Loading-Files|23.4 : Loading Files]]&lt;br /&gt;
** [[#Accessing-Directories|23.5 : Accessing Directories]]&lt;br /&gt;
* [[#Errors|24 : Errors]]&lt;br /&gt;
** [[#General-Error-Signalling-Functions|24.1 : General Error-Signalling Functions]]&lt;br /&gt;
** [[#Specialized-Error-Signalling-Forms-and-Macros|24.2 : Specialized Error-Signalling Forms and Macros]]&lt;br /&gt;
* [[#Miscellaneous-Features|25 : Miscellaneous Features]]&lt;br /&gt;
** [[#The-Compiler|25.1 : The Compiler]]&lt;br /&gt;
** [[#Debugging-Tools|25.3 : Debugging Tools]]&lt;br /&gt;
** [[#Time-Functions|25.4.1 : Time Functions]]&lt;br /&gt;
** [[#Identity-Function|25.5 : Identity Function]]&lt;br /&gt;
* [[#Common-Lisp-Object-System|28 : Common Lisp Object System]]&lt;br /&gt;
* [[#SubL-Specific-Features|SubL-Specific Features]]&lt;br /&gt;
** [[#Signals|SubL.1 : Signals]]&lt;br /&gt;
** [[#System-Properties|SubL.2 : System Properties]]&lt;br /&gt;
** [[#Progress-Pacifiers|SubL.3 : Progress Pacifiers]]&lt;br /&gt;
** [[#Process-Manipulation|SubL.4 : Process Manipulation]]&lt;br /&gt;
** [[#Memory-Interaction|SubL.5 : Memory Interaction]]&lt;br /&gt;
* [[#Index|Index]]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 1 : Introduction =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node5.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL is a programming language intended to be very similar to a simplified version of Common Lisp where those features that are either complex, rarely-used, or difficult to implement in a prodecural language have been excised.&lt;br /&gt;
&lt;br /&gt;
Unlike Common Lisp, SubL is not a purely functional language. Several SubL constructs can only be used procedurally. In order to emphasize this difference, the following naming convention for SubL constructs is used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;A SubL function will have the same name as the analogous Common Lisp function if it is intended to have the exact same basic functionality. The argument list may be simplified, but the intent and use are likely to be the same.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If there is a substantial behavioral difference between a SubL function and its Common Lisp counterpart, its name will be the Common Lisp name prepended with a single character -- either &amp;amp;quot;c&amp;amp;quot;, &amp;amp;quot;p&amp;amp;quot; or &amp;amp;quot;f&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;amp;quot;c&amp;amp;quot; indicates a construct that is either only procedural or functional.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;quot;p&amp;amp;quot; indicates the procedural version of a Common Lisp construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;quot;f&amp;amp;quot; indicates the functional version of a Common Lisp construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
A procedural construct in SubL is one which is suitable for evaluation as either one form in an explicit [[#FN-DEF-PROGN|&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;]] or as one form in an implicit progn, which occur in the &amp;lt;code&amp;gt;&amp;amp;amp;body;&amp;lt;/code&amp;gt; sections of many of the procedural forms such as [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]], [[#FN-DEF-PWHEN|&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]] etc.&lt;br /&gt;
&lt;br /&gt;
Here is a table of all the procedural constructs in SubL and the Common Lisp analog:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;SubL Procedural Construct&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common Lisp Equivalent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PROGN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; progn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PIF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; if&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PWHEN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; when&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PUNLESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; unless&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PCOND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cond&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PCASE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; case&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CSETQ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; setq&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CSETF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; setf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CINC&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; incf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CDEC&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; decf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CPUSH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CPUSHNEW&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pushnew&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CPOP&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; pop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CLET&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; let*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; multiple-value-bind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CDO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; do*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CDOLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; dolist&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CSOME&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CDOTIMES&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; dotimes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CDOHASH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CCATCH&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; catch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CUNWIND-PROTECT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; unwind-protect&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; RET&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; return-from&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
A functional construct in SubL is one which returns a value. Here is a table of all the functional constructs in SubL and the Common Lisp analog:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;SubL Functional Construct&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Common Lisp Equvalent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CAND&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; and&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; COR&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; or&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; CNOT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; not&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; FIF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; if&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; FWHEN&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; when&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; FUNLESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; unless&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The body of a function or macro definition is considered an implicit progn, and so all forms in the body should be procedural. A function call can be used as a procedural construct. In this case, the returned value is simply ignored. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 2 : Data Types =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node15.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL has a flat type heirarchy. Each type is described in more detail in the sections about the methods for that particular type.&lt;br /&gt;
&lt;br /&gt;
SubL supports these built-in Common Lisp datatypes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{|&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;| Numbers:&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;| fixnum&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| float&lt;br /&gt;
|-&lt;br /&gt;
| Symbols:&lt;br /&gt;
| symbol&lt;br /&gt;
|-&lt;br /&gt;
| Lists:&lt;br /&gt;
| cons&lt;br /&gt;
|-&lt;br /&gt;
| Arrays:&lt;br /&gt;
| vector&lt;br /&gt;
|-&lt;br /&gt;
| Characters:&lt;br /&gt;
| character&lt;br /&gt;
|-&lt;br /&gt;
| Strings:&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| Hashtables:&lt;br /&gt;
| eq hashtable&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| eql hashtable&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| equal hashtable&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| equalp hashtable&lt;br /&gt;
|-&lt;br /&gt;
| Streams:&lt;br /&gt;
| stream&lt;br /&gt;
|-&lt;br /&gt;
| Functions:&lt;br /&gt;
| function&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
SubL does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; support these Common Lisp datatypes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Multi-dimensional arrays&amp;lt;br /&amp;gt;&lt;br /&gt;
Packages&amp;lt;br /&amp;gt;&lt;br /&gt;
Pathnames&amp;lt;br /&amp;gt;&lt;br /&gt;
Random-states&amp;lt;br /&amp;gt;&lt;br /&gt;
Lambda-Expressions or Closures&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
SubL has only special-case support for these datatypes:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{|&lt;br /&gt;
| Readtables:&lt;br /&gt;
| SubL only supports a single internal readtable&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
New data types can be introduced via [[#FN-DEF-DEFSTRUCT|&amp;lt;code&amp;gt;DEFSTRUCT&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 3 : Scope and Extent =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node43.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
Special variables in SubL are all (and only) those variables defined globally with [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] or [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]]. In addition, the name of each special variable must begin and end with an asterisk character : &amp;lt;code&amp;gt;&amp;#039;*&amp;#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Special variables have indefinite scope and dynamic extent. All other variables have lexical scope and dynamic extent&lt;br /&gt;
&lt;br /&gt;
Variables are introduced via:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;  &amp;#039;&amp;#039;&amp;#039;Function call&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
: A new set of variables for the formal parameters of the function are introduced. The extent of the function arguments is the duration of the function invocation.&lt;br /&gt;
;  &amp;#039;&amp;#039;&amp;#039;[[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]], [[#FN-DEF-CMULTIPLE-VALUE-BIND|&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDESTRUCTURING-BIND|&amp;lt;code&amp;gt;CDESTRUCTURING-BIND&amp;lt;/code&amp;gt;]]&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
: These constructs explicitly introduce and initialize new local variables. The extent of these variables is until exit from the constuct.&lt;br /&gt;
;  &amp;#039;&amp;#039;&amp;#039;[[#FN-DEF-CDO|&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]], [[#FN-DEF-CSOME|&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOTIMES|&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;]], [[#FN-DEF-CDOHASH|&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;]]&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
: These iteration constructs explicitly introduce and update local variables which represent the state of the iteration. The extent of these variables is until exit from the iteration construct.&lt;br /&gt;
&lt;br /&gt;
When a local variable is introduced with the same name as a local variable which is already within the current scope and extent, the new variable shadows the outer variable.&lt;br /&gt;
&lt;br /&gt;
The initialization of a local variable is considered to occur within the scope of the new local variable. Consequently, a variable which is shadowing an outer variable cannot be initialized in terms of the outer value. For example, this is not allowed :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(define foo (x)&lt;br /&gt;
  (clet ((x (+ x 1)))&lt;br /&gt;
    (print x))&lt;br /&gt;
  (ret nil))&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
However, if the variable is a special variable, the [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] is actually introducing a binding for the special variable, not introducing a new local variable. In this case, the initialization of the binding can be a function of its current value for the variable being bound. For example, this is allowed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(defvar *some-var* 1)&lt;br /&gt;
&lt;br /&gt;
(define foo (x)&lt;br /&gt;
  (clet ((*some-var* (+ *some-var* x)))&lt;br /&gt;
    (print *some-var*))&lt;br /&gt;
  (ret nil))&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The construct [[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] must be used for a function or macro definition to return its intended result. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 4 : Type Specifiers =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node44.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not support type specifiers. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 5 : Program Structure =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node55.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
Program structure in SubL mirrors that of Common Lisp almost exactly. All objects except lists and symbols are self-evaluating. This includes numbers, characters, strings, vectors and hashtables. In addition :&lt;br /&gt;
&lt;br /&gt;
* Keyword symbols are self-evaluating.&lt;br /&gt;
* The symbols T and NIL are self-evaluating.&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 5.3.1 : Defining Named Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node66.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFINE : (name arglist &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All functions in SubL must be named and therefore defined via the SubL construct [[#FN-DEF-DEFINE|&amp;lt;code&amp;gt;DEFINE&amp;lt;/code&amp;gt;]]. See also the similar construct [[#FN-DEF-DEFPOLYMORPHIC|&amp;lt;code&amp;gt;DEFPOLYMORPHIC&amp;lt;/code&amp;gt;]] which is used to define generic functions which switch off the type of the first argument.&lt;br /&gt;
&lt;br /&gt;
Argument lists for user-defined function can only be of this form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;( {var}* [&amp;amp;amp;optional; {var | ( var [initform [supplied-var]] ) }*] )&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In short, SubL supports &amp;lt;code&amp;gt;&amp;amp;amp;optional;&amp;lt;/code&amp;gt; arguments for user-defined functions but does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; support &amp;lt;code&amp;gt;&amp;amp;amp;keyword;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;amp;aux;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;amp;amp;rest;&amp;lt;/code&amp;gt; arguments for user-defined functions. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 5.3.2 : Declaring Global Variables and Named Constants ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node67.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFVAR : (variable &amp;amp;amp;optional initialization documentation)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFPARAMETER : (variable initialization &amp;amp;amp;optional documentation)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] and [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] are the SubL constructs used to define global variables. The name of each variable must begin and end with an asterisk.&lt;br /&gt;
&lt;br /&gt;
SubL enforces an important distinction between these two constructs, which is described in greater detail under [[#FN-DEF-WRITE-IMAGE|&amp;lt;code&amp;gt;WRITE-IMAGE&amp;lt;/code&amp;gt;]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFCONSTANT : (variable initialization &amp;amp;amp;optional documentation)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] and [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]], the name of each named constant defined via [[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] must begin and end with an asterisk. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 6 : Predicates =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node69.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.1 : Logical Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node70.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The symbols NIL and T are used to represent the logical values &amp;amp;quot;true&amp;amp;quot; and &amp;amp;quot;false&amp;amp;quot; in SubL and behave exactly as they do in Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.2.2 : Specific Data Type Predicates ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node73.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
For the most part, the following predicates which check for specific data types behave exactly as they do in Common Lisp.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NULL : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOLP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ATOM : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LISTP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUMBERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOATP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHARACTERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRINGP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTORP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTIONP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Follows the CLtL2 implementation&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTION-SPEC-P : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns T IFF x is an object suitable for FUNCALL&lt;br /&gt;
&lt;br /&gt;
In SubL, [[#FN-DEF-FUNCTIONP|&amp;lt;code&amp;gt;FUNCTIONP&amp;lt;/code&amp;gt;]] only returns T if its argument is a function object. The function [[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]] returns T if its argument is suitable for [[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] or [[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.3 : Equality Predicates ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node74.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The SubL equality predicates behave exactly like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQ : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQL : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQUAL : (x y)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EQUALP : (x y)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 6.4 : Logical Operators ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node75.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL logical operations &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; return T or NIL. Otherwise, they behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CNOT : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CAND : (&amp;amp;amp;rest args)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;COR : (&amp;amp;amp;rest args)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 7 : Control Structure =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node76.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.1.1 : Reference ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node78.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
These SubL constructs behave exactly like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;QUOTE : (data)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FUNCTION : (fspec)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-VALUE : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-FUNCTION : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BOUNDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FBOUNDP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.1.2 : Assignment ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node79.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSETQ : (var value &amp;amp;amp;rest var-val-pairs)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since [[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] is procedural in SubL, it does not return a value. Otherwise, it behaves just like &amp;lt;code&amp;gt;setq&amp;lt;/code&amp;gt; in Common Lisp.&lt;br /&gt;
&lt;br /&gt;
These SubL functions for setting and unsetting symbol properties behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET : (symbol value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKUNBOUND : (symbol)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FMAKUNBOUND : (symbol)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.2 : Generalized Variables ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node80.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSETF : (place val)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] is a more restricted version of &amp;lt;code&amp;gt;setf&amp;lt;/code&amp;gt; in Common Lisp. First, since it is procedural, like [[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] it does not return a value. Second, there is a much more restricted set of place-specifiers which are allowable. Here is a complete table of the allowable [[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] forms, and their equivalent SubL expansions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CSETF form&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equivalent SubL expansion&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETF&amp;lt;/code&amp;gt; variable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETQ&amp;lt;/code&amp;gt; variable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-AREF|&amp;lt;code&amp;gt;AREF&amp;lt;/code&amp;gt;]] vector n&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (SET-AREF&amp;lt;/code&amp;gt; vector n value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-NTH|&amp;lt;code&amp;gt;NTH&amp;lt;/code&amp;gt;]] n list&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (SET-NTH&amp;lt;/code&amp;gt; n list value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-CAR|&amp;lt;code&amp;gt;CAR&amp;lt;/code&amp;gt;]] cons&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (RPLACA&amp;lt;/code&amp;gt; cons value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-CDR|&amp;lt;code&amp;gt;CDR&amp;lt;/code&amp;gt;]] cons&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (RPLACD&amp;lt;/code&amp;gt; cons value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-GET|&amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt;]] symbol indicator&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (PUT&amp;lt;/code&amp;gt; symbol indicator value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-GETHASH|&amp;lt;code&amp;gt;GETHASH&amp;lt;/code&amp;gt;]] key hashtable&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (SETHASH&amp;lt;/code&amp;gt; key hashtable value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETF&amp;lt;/code&amp;gt; ([[#FN-DEF-SYMBOL-VALUE|&amp;lt;code&amp;gt;SYMBOL-VALUE&amp;lt;/code&amp;gt;]] symbol&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (SET&amp;lt;/code&amp;gt; symbol value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (CSETF&amp;lt;/code&amp;gt; (defstruct-slot object&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; value&amp;#039;&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (set-defstruct-slot object value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above table, &amp;#039;&amp;#039;&amp;#039;defstruct-slot&amp;#039;&amp;#039;&amp;#039; refers to any structure slot accessor function which got defined via defstruct, and &amp;#039;&amp;#039;&amp;#039;set-defstruct-slot&amp;#039;&amp;#039;&amp;#039; refers to the corresponding setter function for the given accessor. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.3 : Function Invocation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node81.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
These functions behave like their Common Lisp counterparts.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPLY : (function argument &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCALL : (function &amp;amp;amp;rest args)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first argument to both [[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]] and [[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] must satisfy [[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]]. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.4 : Simple Sequencing ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node82.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PROGN : (&amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In SubL, [[#FN-DEF-PROGN|&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt;]] is procedural and therefore does not return a value. Since it is intended to be essentially procedural in Common Lisp as well, the same name is used even though they have slightly different semantics. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.5 : Establishing New Variable Bindings ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node83.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CLET : (bindings &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SubL construct [[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] can be used to introduce new local variables or bind special variables. The variables are initialized in order just like &amp;lt;code&amp;gt;LET*&amp;lt;/code&amp;gt; in Common Lisp. Since it is procedural, it does not return a value.&lt;br /&gt;
&lt;br /&gt;
SubL has no counterpart to Common Lisp&amp;#039;s &amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt; construct.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPROGV : (special-vars bindings &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-CPROGV|&amp;lt;code&amp;gt;CPROGV&amp;lt;/code&amp;gt;]] is procedural and therefore does not return a value. Otherwise, it is equivalent to &amp;lt;code&amp;gt;progv&amp;lt;/code&amp;gt; in Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.6 : Conditionals ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node84.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PIF : (condition action else-action)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PWHEN : (condition &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PUNLESS : (condition &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-PIF|&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;]], [[#FN-DEF-PWHEN|&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt;]] and [[#FN-DEF-PUNLESS|&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt;]] are the SubL procedural variants of &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt; from Common Lisp. For each, the condition argument must be a functional construct. Also, [[#FN-DEF-PIF|&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt;]] takes exactly three arguments, making the action and else-actions identical in form.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FIF : (condition true-value false-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FWHEN : (condition true-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;FUNLESS : (condition false-value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-FIF|&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;]], [[#FN-DEF-FWHEN|&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;]] and [[#FN-DEF-FUNLESS|&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;]] are the SubL functional variants of &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;when&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;unless&amp;lt;/code&amp;gt; from Common Lisp.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PCOND : (&amp;amp;amp;rest clauses)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PCASE : (test-object &amp;amp;amp;body clauses)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-PCOND|&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt;]] and [[#FN-DEF-PCASE|&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt;]] are the SubL procedural equivalents of &amp;lt;code&amp;gt;cond&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;case&amp;lt;/code&amp;gt; from Common Lisp. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.7 : Blocks and Exits ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node85.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;RET : (expression)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
SubL functions must always return a value, since C functions must return values and all SubL functions must translate into C.&lt;br /&gt;
&lt;br /&gt;
[[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] is used to return a value from a function or macro definition. All functions and macro definitions behave as if an implicit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;(ret nil)&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
appears at the very end of each function. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.2 : General Iteration ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node88.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDO : (vars endtest &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
cdo is procedural. It binds its variables in sequence, as with CommonLisp do* [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.3 : Simple Iteration Constructs ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node89.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOLIST : ((var listform) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CSOME : ((var list endvar) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOTIMES : ((var integer) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDOHASH : ((key val table) &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.8.4 : Mapping ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node90.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCAR : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPLIST : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPC : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPL : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCAN : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPCON : (function list &amp;amp;amp;rest more-lists)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.10.1 : Constructs for Handling Multiple Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node94.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VALUES : (value &amp;amp;amp;rest more-values)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
values returns its args such that they can be bound in a dynamically enclosing multiple-value-bind. The first value is returned as well, since all SubL functions must return a value.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MULTIPLE-VALUES-LIMIT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;MULTIPLE-VALUE-LIST : (form)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND : (vars value &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.10.2 : Rules Governing the Passing of Multiple Values ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node95.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
In SubL, multiple values are governed the same way that they are in Common Lisp, except that if ANY of the return statements in your function are (values ...) then all of them must be. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 7.11 : Dynamic Non-Local Exits ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node96.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CCATCH : (tag ans-var &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
ccatch is procedural, and so does not return values.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CUNWIND-PROTECT : (protected-form &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;THROW : (tag result)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 8 : Macros =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node97.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.1 : Macro Definition ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node98.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFMACRO : (name pattern &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SubL Macros are expanded at translation-time. Full Common Lisp macro support is available. However, the macro-expander must use [[#FN-DEF-RET|&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt;]] to return the expansion. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.3 : Destructuring ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node100.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDESTRUCTURING-BIND : (pattern datum &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 8.5 : Environments ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node102.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VARIABLE-INFORMATION : (variable)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FUNCTION-INFORMATION : (function)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 9 : Declarations =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node103.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 9.1 : Declaration Syntax ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node104.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DECLARE : (&amp;amp;amp;rest ignore)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PROCLAIM : (declaration-specifier)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DECLAIM : (&amp;amp;amp;rest declaration-specifiers)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 9.2 : Declaration Specifiers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node105.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;IGNORE : (&amp;amp;amp;rest values)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[#FN-DEF-IGNORE|&amp;lt;code&amp;gt;IGNORE&amp;lt;/code&amp;gt;]] function can be used to indicate that a particular variable&amp;#039;s value is not used. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 10 : Symbols =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node107.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOLP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.1 : The Property List ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node108.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET : (symbol indicator &amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PUT : (symbol indicator new-value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMPROP : (symbol indicator)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-PLIST : (symbol)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.2 : The Print Name ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node109.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SYMBOL-NAME : (symbol)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the string which is the name of SYMBOL. When called on a keyword, it returns the &amp;amp;quot;:&amp;amp;quot; prefix as part of the name [[|]]&lt;br /&gt;
&lt;br /&gt;
== 10.3 : Creating Symbols ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node110.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-SYMBOL : (print-name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GENSYM : (&amp;amp;amp;optional x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
GENSYM returns new, interned symbols, which are combinations of a string prefix and a numeric suffix. It guarantees that the new symbol was not previously interned.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the argument X is a number, the gensym counter (used to generate the suffix) is set to X before the new symbol is generated.&amp;lt;br /&amp;gt;&lt;br /&gt;
if the argument X is a string, the gensym prefix is set to X before the new symbol is generated.&amp;lt;br /&amp;gt;&lt;br /&gt;
The initial gensym counter value is 1 and the initial gensym prefix is &amp;#039;G&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GENTEMP : (&amp;amp;amp;optional (prefix &amp;amp;quot;T&amp;amp;quot;))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;KEYWORDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In SubL, which does not have packages, keywords are any symbol whose name begins with &amp;amp;quot;:&amp;amp;quot; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 11 : Packages =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node111.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;IN-PACKAGE : (name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTERN : (string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Finds and returns a symbol whose name is STRING. INTERN will create the symbol if it does not exist. Unlike Common LISP intern, the SubL version does not allow an argument to specify the package, since SubL does not support packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND-SYMBOL : (string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Finds and returns a symbol whose name is STRING. Unlike Common LISP FIND-SYMBOL, the SubL version does not allow an argument to specify the package, since SubL does not support packages. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 12 : Numbers =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node121.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL only supports fixnums and floats. Fixnums have at least 28 bits of precision.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUMBERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIXNUMP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGERP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOATP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.2 : Predicates on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node123.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ZEROP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PLUSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MINUSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ODDP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EVENP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.3 : Comparisons on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node124.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;/= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;lt; : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;gt; : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;lt;= : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;&amp;amp;gt;= : (num1 num2)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above numeric comparison functions take exactly 2 arguments, unlike their Common Lisp counterparts which take variable numbers of arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAX : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MIN : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.4 : Arithmetic Operations ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node125.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;+ : (&amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;- : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;* : (&amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;/ : (num &amp;amp;amp;rest numbers)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INT/ : (num1 num2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CINC : (place &amp;amp;amp;optional (delta 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CDEC : (place &amp;amp;amp;optional (delta 1))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.5 : Irrational and Transcendental Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node126.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any irrational, transcendental or trigonometric functions. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.6 : Type Conversions and Component Extractions on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node130.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOAT : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FLOOR : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CEILING : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TRUNCATE : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ROUND : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MOD : (number divisor)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REM : (number divisor)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SCALE-FLOAT : (float integer)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTEGER-DECODE-FLOAT : (float)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.7 : Logical Operations on Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node131.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any logical operations on numbers. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.8 : Byte Manipulation Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node132.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;BYTE : (size position)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LDB : (bytespec integer)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DPB : (newbyte bytespec integer)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.9 : Random Numbers ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node133.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*RAND-MAX*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*rand-max* is the largest fixnum that the function random can accept.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEED-RANDOM : (&amp;amp;amp;optional (seed-fixnum (mod (get-internal-real-time) *rand-max*)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If seed-fixnum is omitted to seed-random, the internal clock is used&amp;lt;br /&amp;gt;&lt;br /&gt;
in an implementation specific manner.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RANDOM : (number)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 12.10 : Implementation Parameters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node134.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MOST-POSITIVE-FIXNUM*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*MOST-NEGATIVE-FIXNUM*&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 13 : Characters =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node135.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHARACTERP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.1 : Character Attributes ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node136.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL does not currently support any attributes for characters. A character exists for each ASCII character code between 0 and 255 inclusive. Thus, the SubL equivalent of Common Lisp&amp;#039;s &amp;lt;code&amp;gt;CHAR-CODE-LIMIT&amp;lt;/code&amp;gt; is 256. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.2 : Predicates on Characters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node137.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ALPHA-CHAR-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;UPPER-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LOWER-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BOTH-CASE-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DIGIT-CHAR-P : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ALPHANUMERICP : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR/= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;lt; : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;gt; : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;lt;= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR&amp;amp;gt;= : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-EQUAL : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-EQUAL : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-LESSP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-GREATERP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-GREATERP : (char1 char2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-NOT-LESSP : (char1 char2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.3 : Character Construction and Selection ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node138.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-CODE : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CODE-CHAR : (code)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 13.4 : Character Conversions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node139.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-DOWNCASE : (char)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR-UPCASE : (char)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 14 : Sequences =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node141.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEQUENCEP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.1 : Simple Sequence Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node142.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ELT : (sequence index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSEQ : (sequence start &amp;amp;amp;optional end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-SEQ : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LENGTH : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REVERSE : (sequence)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NREVERSE : (sequence)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.2 : Concatenating, Mapping and Reducing Sequences ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node143.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CCONCATENATE : (seq &amp;amp;amp;rest more-seqs)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CREDUCE : (function sequence &amp;amp;amp;optional (start 0) end (init-value :none))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.3 : Modifying Sequences ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node144.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILL : (sequence item &amp;amp;amp;optional (start 0) (end (length sequence)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REPLACE : (sequence1 sequence2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE : (item sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE-IF : (test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE : (item sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-IF : (test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMOVE-DUPLICATES : (sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-DUPLICATES : (sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSTITUTE : (new old sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSTITUTE-IF : (new test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBSTITUTE : (new old sequence &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBSTITUTE-IF : (new test sequence &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end count)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.4 : Searching Sequences for Terms ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node145.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIND-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;POSITION : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;POSITION-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COUNT : (item seq &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COUNT-IF : (test seq &amp;amp;amp;optional (key #&amp;#039;identity) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MISMATCH : (seq1 seq2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEARCH : (seq1 seq2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity) (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 14.5 : Sorting and Merging ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node146.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SORT : (seq predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STABLE-SORT : (seq predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CMERGE : (seq1 seq2 predicate &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 15 : Lists =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node147.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LISTP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ATOM : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.1 : Conses ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node148.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CAAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CADR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDAR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CDDR : (cons)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONS : (car cdr)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TREE-EQUAL : (tree1 tree2 &amp;amp;amp;optional (test #&amp;#039;eql))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.2 : Lists ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node149.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENDP : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST-LENGTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NTH : (n list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIRST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SECOND : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;THIRD : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FOURTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FIFTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SIXTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SEVENTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EIGHTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NINTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TENTH : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NTHCDR : (n list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST : (&amp;amp;amp;rest objects)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LIST* : (arg &amp;amp;amp;rest objects)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-LIST : (size &amp;amp;amp;optional initial-element)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPEND : (&amp;amp;amp;rest lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-LIST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-ALIST : (list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;COPY-TREE : (tree)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REVAPPEND : (list1 list2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NCONC : (&amp;amp;amp;rest lists)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NRECONC : (list1 list2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPUSH : (item place)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPUSHNEW : (item place &amp;amp;amp;optional (test &amp;#039;#&amp;#039;eql) (key &amp;#039;#&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CPOP : (place)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BUTLAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NBUTLAST : (list &amp;amp;amp;optional (n 1))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LDIFF : (list sublist)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.3 : Alteration of List Structure ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node150.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RPLACA : (cons newcar)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RPLACD : (cons newcdr)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-NTH : (n list value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.4 : Substitution of Expressions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node151.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBST : (new old tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBST-IF : (new test tree &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBST : (new old tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBST-IF : (new test tree &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBLIS : (alist tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSUBLIS : (alist tree &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.5 : Using Lists as Sets ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node152.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MEMBER : (item list &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MEMBER-IF : (test list &amp;amp;amp;optional (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TAILP : (sublist list)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ADJOIN : (item list &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;UNION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NUNION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INTERSECTION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NINTERSECTION : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-DIFFERENCE : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSET-DIFFERENCE : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-EXCLUSIVE-OR : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSET-EXCLUSIVE-OR : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SUBSETP : (list1 list2 &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 15.6 : Association Lists ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node153.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ACONS : (key datum alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PAIRLIS : (keys data &amp;amp;amp;optional alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ASSOC : (item alist &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ASSOC-IF : (predicate alist)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RASSOC : (item alist &amp;amp;amp;optional (test #&amp;#039;eql) (key #&amp;#039;identity))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RASSOC-IF : (predicate alist)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 16 : Hash Tables =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node154.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 16.1 : Hash Table Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node155.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-HASH-TABLE : (size &amp;amp;amp;optional (test #&amp;#039;eql) (area default-cons-area))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;HASH-TABLE-P : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GETHASH : (key table &amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SETHASH : (key table value)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;REMHASH : (key table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAPHASH : (function table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CLRHASH : (table)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;HASH-TABLE-COUNT : (table)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 16.2 : Primitive Hash Function ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node156.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SXHASH : (object)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 17 : Arrays =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node157.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL only supports one-dimensional arrays, which are called vectors.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTORP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 17.1 : Vector Creation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node158.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-VECTOR : (size &amp;amp;amp;optional initial-element)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;VECTOR : (&amp;amp;amp;rest objects)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 17.2 : Vector Access ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node159.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;AREF : (vector index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-AREF : (vector index value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 18 : Strings =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node164.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRINGP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.1 : String Access ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node165.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CHAR : (string index)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-CHAR : (string index value)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.2 : String Comparison ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node166.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-EQUAL : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;lt; : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;gt; : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;lt;= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING&amp;amp;gt;= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING/= : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-LESSP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-GREATERP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-GREATERP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-LESSP : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-NOT-EQUAL : (string1 string2 &amp;amp;amp;optional (start1 0) end1 (start2 0) end2)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 18.3 : String Construction and Manipulation ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node167.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;MAKE-STRING : (size &amp;amp;amp;optional (initial-element #\Space))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-LEFT-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-RIGHT-TRIM : (char-list string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-UPCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-DOWNCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING-CAPITALIZE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-UPCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-DOWNCASE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NSTRING-CAPITALIZE : (string &amp;amp;amp;optional (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STRING : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 19 : Structures =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node168.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFSTRUCT : ((name &amp;amp;amp;rest options) &amp;amp;amp;body slots)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Like Common Lisp defstruct except:&amp;lt;br /&amp;gt;&lt;br /&gt;
(1) slot initializations are not allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(2) the only other options:&amp;lt;br /&amp;gt;&lt;br /&gt;
(:conc-name whatever)&amp;lt;br /&amp;gt;&lt;br /&gt;
(:print-function #&amp;#039;whatever)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the default structure print function is&amp;lt;br /&amp;gt;&lt;br /&gt;
default-struct-print-function : object stream depth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(3) The make constructor takes no arguments and only makes an empty structure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(4) Reading of structures is not supported by the reader.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEFAULT-STRUCT-PRINT-FUNCTION : (object stream depth)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;PRINTING-OBJECT : ((object stream) &amp;amp;amp;body body)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 20 : The Evaluator =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node179.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 20.1 : Run-Time Evaluation of Forms ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node180.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;EVAL : (form)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSTANTP : (object &amp;amp;amp;optional env)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Common Lisp functions &amp;lt;code&amp;gt;evalhook&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;applyhook&amp;lt;/code&amp;gt; are not supported in SubL. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 20.2 : The Top-Level Loop ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node181.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;***&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For convenience, the top-level readloop binds the following variables after each form is evaluated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;*  the last value returned&lt;br /&gt;
**  the previous value of *&lt;br /&gt;
*** the previous value of **&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 21 : Streams =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node182.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STREAMP : (x)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.1 : Standard Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node183.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*STANDARD-INPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*STANDARD-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*NULL-OUTPUT*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
A bit-sink output stream. All output is ignored&lt;br /&gt;
&lt;br /&gt;
The other standard streams supported by Common Lisp are not supported by SubL. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.2 : Creating new Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node184.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-TCP-STREAM : (host port)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 21.3 : Operations on Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node185.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;STREAMP : (x)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INPUT-STREAM-P : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OUTPUT-STREAM-P : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CLOSE : (stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 22 : Input/Output =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node186.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1 : Printed Representation of SubL Objects ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node187.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.3 : Macro Characters ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node190.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
The SubL reader supports the following macro characters, whose meaning is identical to their meaning in Common Lisp :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Macro Character&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Â Â Â &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reader Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; (&amp;lt;/code&amp;gt;&lt;br /&gt;
Begin reading a list.&lt;br /&gt;
&amp;lt;code&amp;gt; )&amp;lt;/code&amp;gt;&lt;br /&gt;
End reading a list or a vector.&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
Read in a quoted expression.&lt;br /&gt;
&amp;lt;code&amp;gt; ;&amp;lt;/code&amp;gt;&lt;br /&gt;
Read a comment until end-of-line.&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Begin or end reading a string.&lt;br /&gt;
&amp;lt;code&amp;gt; `&amp;lt;/code&amp;gt;&lt;br /&gt;
Read in a backquoted expression.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In addition, the following comma-readers are supported inside of backquote :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;,  &lt;br /&gt;
,@  &lt;br /&gt;
,.&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Their behavior is identical to their Common Lisp counterparts. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.4 : Standard Dispatching Macro Character Syntax ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node191.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;#039;#&amp;#039;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; is the SubL standard dispatching macro character. The SubL reader supports the following dispatch macro character sequences, whose meanings are identical to their meanings in Common Lisp :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dispatch Sequence&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Â Â Â &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reader Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; #\(&amp;lt;/code&amp;gt;&lt;br /&gt;
Read a character constant.&lt;br /&gt;
&amp;lt;code&amp;gt; #&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
Read a function constant.&lt;br /&gt;
&amp;lt;code&amp;gt; #(&amp;lt;/code&amp;gt;&lt;br /&gt;
Begin reading a vector.&lt;br /&gt;
&amp;lt;code&amp;gt; #|&amp;lt;/code&amp;gt;&lt;br /&gt;
Begin reading a comment section.&lt;br /&gt;
&amp;lt;code&amp;gt; |#&amp;lt;/code&amp;gt;&lt;br /&gt;
End reading a comment section.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Additionally, SubL supports the dispatch sequence &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;#$&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; as follows :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;#$foo&amp;lt;/code&amp;gt; reads the Cyc constant whose name is &amp;lt;code&amp;gt;&amp;amp;quot;foo&amp;amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.5 : The Readtable ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node192.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL internally uses a readtable, but it is not visible to the programmer. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.1.6 : What the Print Function Produces ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node193.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*PRINT-ESCAPE*&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.2.1 : Input from Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node195.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ : (&amp;amp;amp;optional (stream *standard-input*) (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns FORM if read was successful.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values NIL :ERROR if there was a reader error.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values EOF-VALUE :ERROR if EOF-ERROR-P is nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Causes an error if EOF-ERROR-P is not nil and EOF occurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Differences from Common Lisp:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;  &amp;lt;/code&amp;gt;Numbers are only read in decimal notation with no specified radix.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;  &amp;lt;/code&amp;gt;No character modifiers: only standard chars plus specials like Space, Return etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;  &amp;lt;/code&amp;gt;The || notation and \ syntax for symbols are not supported.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ-LINE : (&amp;amp;amp;optional (stream *standard-input*) (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ-CHAR : (&amp;amp;amp;optional (stream *standard-input*) (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;UNREAD-CHAR : (char &amp;amp;amp;optional (stream *standard-input*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ-FROM-STRING : (string &amp;amp;amp;optional (eof-error-p t) (eof-value :eof) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values FORM NEW-START if read was successful.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values NIL :ERROR if there was a reader error.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns the values EOF-VALUE :ERROR if EOF-ERROR-P is nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Causes an error if EOF-ERROR-P is not nil and EOF occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
Returns a second value which is an integer indicating the position in the string to&amp;lt;br /&amp;gt;&lt;br /&gt;
start reading from again or :ERROR if there was some kind of reader error. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.2.2 : Input from Binary Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node196.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;READ-BYTE : (stream &amp;amp;amp;optional (eof-error-p t) (eof-value :eof))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.1 : Output to Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node198.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE : (object &amp;amp;amp;optional (stream *standard-output*) (escape *print-escape*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRIN1 : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINT : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINC : (object &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-TO-STRING : (object &amp;amp;amp;optional (escape *print-escape*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRIN1-TO-STRING : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PRINC-TO-STRING : (object)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-CHAR : (char &amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-STRING : (string &amp;amp;amp;optional (stream *standard-output*) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-LINE : (string &amp;amp;amp;optional (stream *standard-output*) (start 0) end)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TERPRI : (&amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORCE-OUTPUT : (&amp;amp;amp;optional (stream *standard-output*))&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.2 : Output to Binary Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node199.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-BYTE : (integer stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 22.3.3 : Formatted Output to Character Streams ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node200.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORMAT : (destination control-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Format ARGUMENTS to the text stream DESTINATION according to the specifications in CONTROL-STRING. SubL format is more limited than the Common Lisp version: the only escapes allowed in the control string are: ~A ~a ~S ~s ~D ~d (with width and pad parameters optional) ~C ~c ~G ~g ~% ~~ [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 23 : File System Interface =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node202.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.1 : File Names ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node203.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*DEFAULT-PATHNAME-DEFAULTS*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CONSTRUCT-FILENAME : (directory-list filename &amp;amp;amp;optional extension relative?)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pathnames are just strings in SubL. Common Lisp pathname objects are not supported. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.2 : Opening and Closing Files ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node215.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-TEXT : (filename direction)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Attempts to open the file FILENAME. If successful, returns an 8-bit character text stream. If DIRECTION is :input, then input operations can be performed on the stream. If DIRECTION is output, then output is directed to the file FILENAME, overwriting any existing file. If DIRECTION is :append, then output is appended to the file. For either output case, a new file is created if no file named FILENAME already exists.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;OPEN-BINARY : (filename direction)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Attempts to open the file FILENAME. If successful, returns an 8-bit binary byte stream. If DIRECTION is :input, then input operations can be performed on the stream. If DIRECTION is output, then output is directed to the file FILENAME, overwriting any existing file. If DIRECTION is :append, then output is appended to the file. For either output case, a new file is created if no file named FILENAME already exists.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-TEXT-FILE : ((stream filestring direction) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In the scope of a WITH-TEXT-FILE expression, the file FILESTRING is opened for character i/o and a stream to this file is created and bound to the variable STREAM. If DIRECTION is :input, then input operations can be performed on STREAM. If DIRECTION is :output, then output operations can be performed, overwriting any existing file. If DIRECTION is :append, then output is appended to an existing file.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-BINARY-FILE : ((stream filestring direction) &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In the scope of a WITH-BINARY-FILE expression, the file FILESTRING is opened for binary i/o and a stream to this file is created and bound to the variable STREAM. If DIRECTION is :input, then input operations can be performed on STREAM. If DIRECTION is :output, then output operations can be performed, overwriting any existing file. If DIRECTION is :append, then output is appended to an existing file. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.3 : Renaming, Deleting and Other File Operations ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node216.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RENAME-FILE : (filename new-name)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DELETE-FILE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;PROBE-FILE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;APPEND-FILES : (filename-1 filename-2 &amp;amp;amp;optional (mode :text))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Append filename-1 to filename-2&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-WRITE-DATE : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-AUTHOR : (filename)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-FILE-POSITION : (stream)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SET-FILE-POSITION : (stream n)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FILE-LENGTH : (stream)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.4 : Loading Files ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node217.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;LOAD : (filename)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 23.5 : Accessing Directories ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node218.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DIRECTORY : (directory-name &amp;amp;amp;optional include-directory)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 24 : Errors =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node219.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 24.1 : General Error-Signalling Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node220.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-ABORT-HANDLER*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If *error-abort-handler* is non-nil, then an ABORT option is available inside ERROR and CERROR.&amp;lt;br /&amp;gt;&lt;br /&gt;
If chosen, then the handler is funcalled on no arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-HANDLER*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If *ERROR-SIGNAL* is non-nil, then that function is called upon an error. Otherwise, the debugger is invoked.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*ERROR-MESSAGE*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ERROR : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*CONTINUE-CERROR?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;CERROR : (continue-string format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-WARNS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If T, all warnings forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WARN : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-BREAKS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If non-NIL, all break forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;BREAK : (format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 24.2 : Specialized Error-Signalling Forms and Macros ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node221.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*IGNORE-MUSTS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
If non-NIL, all must forms are ignored&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;MUST : (form format-string &amp;amp;amp;rest arguments)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SUSPEND-TYPE-CHECKING?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
CHECK-TYPE tests are performed iff this is non-nil&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CHECK-TYPE : (object pred)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 25 : Miscellaneous Features =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node223.html CLtL2 Reference] [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.1 : The Compiler ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node224.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
SubL currently does not provide any compilation support. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.3 : Debugging Tools ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node230.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;CTIME : (var &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEBUG : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Pauses execution and invokes the debugger. [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.4.1 : Time Functions ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node232.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*EPOCH*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*epoch* is the current epoch in use, which is a universal time.&amp;lt;br /&amp;gt;&lt;br /&gt;
The system needs to at least be able to handle epochs back to midnight Jan 1 1970.&amp;lt;br /&amp;gt;&lt;br /&gt;
*epoch* is globally initialized to midnight Jan 1 1970.&amp;lt;br /&amp;gt;&lt;br /&gt;
All universal times are relative to *epoch*.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-UNIVERSAL-TIME : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DECODE-UNIVERSAL-TIME : (universal-time)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENCODE-UNIVERSAL-TIME : (second minute hour date month year)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIME-FROM-NOW : (delta)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIME-HAS-ARRIVED? : (time)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;ENCODE-TIMESTRING : (second minute hour date month year)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;TIMESTRING : (&amp;amp;amp;optional (universal-time (get-universal-time)))&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
timestring returns a string in the format dd/mm/yy hh:mm:ss from the&amp;lt;br /&amp;gt;&lt;br /&gt;
universal time given. If none is given, the current time is used.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*CLOCK-GRANULARITY*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
*clock-granularity* is the number of internal clock units per second.&amp;lt;br /&amp;gt;&lt;br /&gt;
time evals form and returns the number of internal clock units it took&amp;lt;br /&amp;gt;&lt;br /&gt;
to execute.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-INTERNAL-REAL-TIME : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;SLEEP : (seconds)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
== 25.5 : Identity Function ==&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node234.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;IDENTITY : (object)&amp;lt;/code&amp;gt; [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= 28 : Common Lisp Object System =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/node260.html CLtL2 Reference]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFPOLYMORPHIC : (name lambda-list &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Defines a new polymorphic function that dispatches on the type of its first argument. &amp;amp;lt;body&amp;amp;gt; defines a default method. The function define-method can be used to define additional methods. For example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(defpolymorphic test (a b)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;    &amp;lt;/code&amp;gt;(list a b))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(define-method test ((a cons) b)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;    &amp;lt;/code&amp;gt;(cons b a))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(define-method test ((a fixnum) b)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;    &amp;lt;/code&amp;gt;(+ a b))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The defpolymorphic form defines the function TEST with a default method.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;  &amp;lt;/code&amp;gt;The two define-method forms specialize the behavior of TEST for lists and fixnums.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(test &amp;#039;foo &amp;#039;bar) =&amp;amp;gt; (FOO BAR)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;  &amp;lt;/code&amp;gt;(test &amp;#039;(foo) &amp;#039;bar) =&amp;amp;gt; (BAR FOO)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;  &amp;lt;/code&amp;gt;(test 2 3) =&amp;amp;gt; 5&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;DEFINE-METHOD : (name lambda-list &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Defines a method for the polymorphic function &amp;amp;lt;name&amp;amp;gt; that runs if&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;lt;dispatch-arg&amp;amp;gt; is of type &amp;amp;lt;type&amp;amp;gt;. The lambda list must have the same&amp;lt;br /&amp;gt;&lt;br /&gt;
structure as in the DEFPOLYMORPHIC call. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= SubL-Specific Features =&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.1 : Signals&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SIGNAL-MAX*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
There are *signal-max* total signals available.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;DEFAULT-SIGNAL-HANDLER : (signal)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;INSTALL-SIGNAL-HANDLER : (signal function)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.2 : System Properties&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-PROCESS-ID : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Return the current heavyweight process id of this current SubL&amp;lt;br /&amp;gt;&lt;br /&gt;
program. Return DEFAULT if this cannot be determined.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-MACHINE-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-NETWORK-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GET-USER-NAME : (&amp;amp;amp;optional default)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.3 : Progress Pacifiers&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]variable &amp;lt;code&amp;gt;*SILENT-PROGRESS?*&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-ACTIVITY : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-ACTIVITY : ()&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-NUMERIC-PROGRESS : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-NUMERIC-PROGRESS : (num)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;NOTING-PERCENT-PROGRESS : (string &amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;NOTE-PERCENT-PROGRESS : (index max)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.4 : Process Manipulation&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;FORK-PROCESS : (function &amp;amp;amp;optional callback output-file)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Spawn a heavyweight child process to call FUNCTION, which takes no arguments.&amp;lt;br /&amp;gt;&lt;br /&gt;
FUNCTION must return an integer.&amp;lt;br /&amp;gt;&lt;br /&gt;
CALLBACK, if provided, must be a function of one argument which is called&amp;lt;br /&amp;gt;&lt;br /&gt;
on the returned value within the address space of the parent process.&amp;lt;br /&amp;gt;&lt;br /&gt;
OUTPUT-FILE, if provided, is a file to which standard output and error are piped&amp;lt;br /&amp;gt;&lt;br /&gt;
while executing FUNCTION.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;RESTART-PROCESS : (&amp;amp;amp;optional world-spec init-file-pathname init-form-spec)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Restart the current heavyweight process.&amp;lt;br /&amp;gt;&lt;br /&gt;
WORLD-SPEC, if provided, is the filename of a world to use.&amp;lt;br /&amp;gt;&lt;br /&gt;
INIT-FILE-PATHNAME, if provided, is a file of initializatio forms to eval.&amp;lt;br /&amp;gt;&lt;br /&gt;
INIT-FORM-SPEC, if provided, is a form to execute.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values used for these when the current process was started are used if unprovided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[|]] &amp;#039;&amp;#039;&amp;#039;SubL.5 : Memory Interaction&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;GC : (&amp;amp;amp;optional level)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]macro &amp;lt;code&amp;gt;WITH-STATIC-AREA : (&amp;amp;amp;body body)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[|]]function &amp;lt;code&amp;gt;WRITE-IMAGE : (filename &amp;amp;amp;optional do-full-gc)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Save the current state of virtual memory in a file called FILENAME.&amp;lt;br /&amp;gt;&lt;br /&gt;
If DO-FULL-GC is true, then a full garbage collection is&amp;lt;br /&amp;gt;&lt;br /&gt;
performed before writing the image. Otherwise, a dynamic&amp;lt;br /&amp;gt;&lt;br /&gt;
garbage collection is performed and remaining objects are&amp;lt;br /&amp;gt;&lt;br /&gt;
promoted to being static ones.&lt;br /&gt;
&lt;br /&gt;
During the initialization of a SubL system at startup, variables defined via [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] have their initial values set via their state in the world file used at startup, ignoring the initial value specified by the code. [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] variables and [[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] global constants have their values initialized via the code on startup.&lt;br /&gt;
&lt;br /&gt;
The net result of this distinction is as follows: if a world is saved out via WRITE-IMAGE, and then used to restart a SubL system, the values of [[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] variables will persist, while any changes to [[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] variables will be lost when they are reset to their original code-specified initial values on startup. [[|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
= Index =&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20060325065433/http://www.supelec.fr/docs/cltl/clm/index.html CLtL2 Reference]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[#Index-A|A]] | [[#Index-B|B]] | [[#Index-C|C]] | [[#Index-D|D]] | [[#Index-E|E]] | [[#Index-F|F]] | [[#Index-G|G]] | [[#Index-H|H]] | [[#Index-I|I]] | [[#Index-J|J]] | [[#Index-K|K]] | [[#Index-L|L]] | [[#Index-M|M]] | [[#Index-N|N]] | [[#Index-O|O]] | [[#Index-P|P]] | [[#Index-Q|Q]] | [[#Index-R|R]] | [[#Index-S|S]] | [[#Index-T|T]] | [[#Index-U|U]] | [[#Index-V|V]] | [[#Index-W|W]] | [[#Index-X|X]] | [[#Index-Y|Y]] | [[#Index-Z|Z]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-1280|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1280|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-165120|&amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-21136640|&amp;lt;code&amp;gt;***&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1161467279|&amp;lt;code&amp;gt;*CLOCK-GRANULARITY*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1424597890|&amp;lt;code&amp;gt;*CONTINUE-CERROR?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-609384130|&amp;lt;code&amp;gt;*DEFAULT-PATHNAME-DEFAULTS*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-2020021124|&amp;lt;code&amp;gt;*EPOCH*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-860597104|&amp;lt;code&amp;gt;*ERROR-ABORT-HANDLER*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-354311860|&amp;lt;code&amp;gt;*ERROR-HANDLER*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1079241228|&amp;lt;code&amp;gt;*ERROR-MESSAGE*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-704643174|&amp;lt;code&amp;gt;*ERROR-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-204607828|&amp;lt;code&amp;gt;*IGNORE-BREAKS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-2065003033|&amp;lt;code&amp;gt;*IGNORE-MUSTS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1528898064|&amp;lt;code&amp;gt;*IGNORE-WARNS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1188374285|&amp;lt;code&amp;gt;*MOST-NEGATIVE-FIXNUM*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-113980253|&amp;lt;code&amp;gt;*MOST-POSITIVE-FIXNUM*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1624760991|&amp;lt;code&amp;gt;*MULTIPLE-VALUES-LIMIT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1405149315|&amp;lt;code&amp;gt;*NULL-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-313735324|&amp;lt;code&amp;gt;*PRINT-ESCAPE*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-430643141|&amp;lt;code&amp;gt;*RAND-MAX*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-371148559|&amp;lt;code&amp;gt;*SIGNAL-MAX*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-694198800|&amp;lt;code&amp;gt;*SILENT-PROGRESS?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1112282190|&amp;lt;code&amp;gt;*STANDARD-INPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1982975489|&amp;lt;code&amp;gt;*STANDARD-OUTPUT*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#SYM-DEF-1570894042|&amp;lt;code&amp;gt;*SUSPEND-TYPE-CHECKING?*&amp;lt;/code&amp;gt;]] variable&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-+|&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF--|&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-/|&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-/=|&amp;lt;code&amp;gt;/=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-3584|&amp;lt;code&amp;gt;&amp;amp;lt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-462464|&amp;lt;code&amp;gt;&amp;amp;lt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-=|&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-3840|&amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-495232|&amp;lt;code&amp;gt;&amp;amp;gt;=&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== A ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ACONS|&amp;lt;code&amp;gt;ACONS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ADJOIN|&amp;lt;code&amp;gt;ADJOIN&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALERT-USER|&amp;lt;code&amp;gt;ALERT-USER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALPHA-CHAR-P|&amp;lt;code&amp;gt;ALPHA-CHAR-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ALPHANUMERICP|&amp;lt;code&amp;gt;ALPHANUMERICP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPEND|&amp;lt;code&amp;gt;APPEND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPEND-FILES|&amp;lt;code&amp;gt;APPEND-FILES&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-APPLY|&amp;lt;code&amp;gt;APPLY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-AREF|&amp;lt;code&amp;gt;AREF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ASSOC|&amp;lt;code&amp;gt;ASSOC&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ASSOC-IF|&amp;lt;code&amp;gt;ASSOC-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ATOM|&amp;lt;code&amp;gt;ATOM&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== B ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BOTH-CASE-P|&amp;lt;code&amp;gt;BOTH-CASE-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BOUNDP|&amp;lt;code&amp;gt;BOUNDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BREAK|&amp;lt;code&amp;gt;BREAK&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BUTLAST|&amp;lt;code&amp;gt;BUTLAST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-BYTE|&amp;lt;code&amp;gt;BYTE&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== C ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAAR|&amp;lt;code&amp;gt;CAAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CADR|&amp;lt;code&amp;gt;CADR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAND|&amp;lt;code&amp;gt;CAND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CAR|&amp;lt;code&amp;gt;CAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CCATCH|&amp;lt;code&amp;gt;CCATCH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CCONCATENATE|&amp;lt;code&amp;gt;CCONCATENATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDAR|&amp;lt;code&amp;gt;CDAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDDR|&amp;lt;code&amp;gt;CDDR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDEC|&amp;lt;code&amp;gt;CDEC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDESTRUCTURING-BIND|&amp;lt;code&amp;gt;CDESTRUCTURING-BIND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDO|&amp;lt;code&amp;gt;CDO&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOHASH|&amp;lt;code&amp;gt;CDOHASH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOLIST|&amp;lt;code&amp;gt;CDOLIST&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDOTIMES|&amp;lt;code&amp;gt;CDOTIMES&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CDR|&amp;lt;code&amp;gt;CDR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CEILING|&amp;lt;code&amp;gt;CEILING&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CERROR|&amp;lt;code&amp;gt;CERROR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR|&amp;lt;code&amp;gt;CHAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-CODE|&amp;lt;code&amp;gt;CHAR-CODE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-DOWNCASE|&amp;lt;code&amp;gt;CHAR-DOWNCASE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-EQUAL|&amp;lt;code&amp;gt;CHAR-EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-GREATERP|&amp;lt;code&amp;gt;CHAR-GREATERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-LESSP|&amp;lt;code&amp;gt;CHAR-LESSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-EQUAL|&amp;lt;code&amp;gt;CHAR-NOT-EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-GREATERP|&amp;lt;code&amp;gt;CHAR-NOT-GREATERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-NOT-LESSP|&amp;lt;code&amp;gt;CHAR-NOT-LESSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR-UPCASE|&amp;lt;code&amp;gt;CHAR-UPCASE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR/=|&amp;lt;code&amp;gt;CHAR/=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-137661468|&amp;lt;code&amp;gt;CHAR&amp;amp;lt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-440795332|&amp;lt;code&amp;gt;CHAR&amp;amp;lt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHAR=|&amp;lt;code&amp;gt;CHAR=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-137661724|&amp;lt;code&amp;gt;CHAR&amp;amp;gt;&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-440828100|&amp;lt;code&amp;gt;CHAR&amp;amp;gt;=&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHARACTERP|&amp;lt;code&amp;gt;CHARACTERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CHECK-TYPE|&amp;lt;code&amp;gt;CHECK-TYPE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CINC|&amp;lt;code&amp;gt;CINC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLET|&amp;lt;code&amp;gt;CLET&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLOSE|&amp;lt;code&amp;gt;CLOSE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CLRHASH|&amp;lt;code&amp;gt;CLRHASH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CMERGE|&amp;lt;code&amp;gt;CMERGE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CMULTIPLE-VALUE-BIND|&amp;lt;code&amp;gt;CMULTIPLE-VALUE-BIND&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CNOT|&amp;lt;code&amp;gt;CNOT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CODE-CHAR|&amp;lt;code&amp;gt;CODE-CHAR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONS|&amp;lt;code&amp;gt;CONS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSP|&amp;lt;code&amp;gt;CONSP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSTANTP|&amp;lt;code&amp;gt;CONSTANTP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CONSTRUCT-FILENAME|&amp;lt;code&amp;gt;CONSTRUCT-FILENAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-ALIST|&amp;lt;code&amp;gt;COPY-ALIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-LIST|&amp;lt;code&amp;gt;COPY-LIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-SEQ|&amp;lt;code&amp;gt;COPY-SEQ&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COPY-TREE|&amp;lt;code&amp;gt;COPY-TREE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COR|&amp;lt;code&amp;gt;COR&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COUNT|&amp;lt;code&amp;gt;COUNT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-COUNT-IF|&amp;lt;code&amp;gt;COUNT-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPOP|&amp;lt;code&amp;gt;CPOP&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPROGV|&amp;lt;code&amp;gt;CPROGV&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPUSH|&amp;lt;code&amp;gt;CPUSH&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CPUSHNEW|&amp;lt;code&amp;gt;CPUSHNEW&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CREDUCE|&amp;lt;code&amp;gt;CREDUCE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSETF|&amp;lt;code&amp;gt;CSETF&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSETQ|&amp;lt;code&amp;gt;CSETQ&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CSOME|&amp;lt;code&amp;gt;CSOME&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CTIME|&amp;lt;code&amp;gt;CTIME&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-CUNWIND-PROTECT|&amp;lt;code&amp;gt;CUNWIND-PROTECT&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== D ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEBUG|&amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECLAIM|&amp;lt;code&amp;gt;DECLAIM&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECLARE|&amp;lt;code&amp;gt;DECLARE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DECODE-UNIVERSAL-TIME|&amp;lt;code&amp;gt;DECODE-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFAULT-SIGNAL-HANDLER|&amp;lt;code&amp;gt;DEFAULT-SIGNAL-HANDLER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFAULT-STRUCT-PRINT-FUNCTION|&amp;lt;code&amp;gt;DEFAULT-STRUCT-PRINT-FUNCTION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFCONSTANT|&amp;lt;code&amp;gt;DEFCONSTANT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFINE|&amp;lt;code&amp;gt;DEFINE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFINE-METHOD|&amp;lt;code&amp;gt;DEFINE-METHOD&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFMACRO|&amp;lt;code&amp;gt;DEFMACRO&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFPARAMETER|&amp;lt;code&amp;gt;DEFPARAMETER&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFPOLYMORPHIC|&amp;lt;code&amp;gt;DEFPOLYMORPHIC&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFSTRUCT|&amp;lt;code&amp;gt;DEFSTRUCT&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DEFVAR|&amp;lt;code&amp;gt;DEFVAR&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE|&amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-DUPLICATES|&amp;lt;code&amp;gt;DELETE-DUPLICATES&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-FILE|&amp;lt;code&amp;gt;DELETE-FILE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DELETE-IF|&amp;lt;code&amp;gt;DELETE-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DIGIT-CHAR-P|&amp;lt;code&amp;gt;DIGIT-CHAR-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DIRECTORY|&amp;lt;code&amp;gt;DIRECTORY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-DPB|&amp;lt;code&amp;gt;DPB&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== E ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EIGHTH|&amp;lt;code&amp;gt;EIGHTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ELT|&amp;lt;code&amp;gt;ELT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENCODE-TIMESTRING|&amp;lt;code&amp;gt;ENCODE-TIMESTRING&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENCODE-UNIVERSAL-TIME|&amp;lt;code&amp;gt;ENCODE-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ENDP|&amp;lt;code&amp;gt;ENDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQ|&amp;lt;code&amp;gt;EQ&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQL|&amp;lt;code&amp;gt;EQL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQUAL|&amp;lt;code&amp;gt;EQUAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EQUALP|&amp;lt;code&amp;gt;EQUALP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ERROR|&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EVAL|&amp;lt;code&amp;gt;EVAL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-EVENP|&amp;lt;code&amp;gt;EVENP&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== F ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FBOUNDP|&amp;lt;code&amp;gt;FBOUNDP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIF|&amp;lt;code&amp;gt;FIF&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIFTH|&amp;lt;code&amp;gt;FIFTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-AUTHOR|&amp;lt;code&amp;gt;FILE-AUTHOR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-LENGTH|&amp;lt;code&amp;gt;FILE-LENGTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILE-WRITE-DATE|&amp;lt;code&amp;gt;FILE-WRITE-DATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FILL|&amp;lt;code&amp;gt;FILL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND|&amp;lt;code&amp;gt;FIND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND-IF|&amp;lt;code&amp;gt;FIND-IF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIND-SYMBOL|&amp;lt;code&amp;gt;FIND-SYMBOL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIRST|&amp;lt;code&amp;gt;FIRST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FIXNUMP|&amp;lt;code&amp;gt;FIXNUMP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOAT|&amp;lt;code&amp;gt;FLOAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOATP|&amp;lt;code&amp;gt;FLOATP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FLOOR|&amp;lt;code&amp;gt;FLOOR&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FMAKUNBOUND|&amp;lt;code&amp;gt;FMAKUNBOUND&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORCE-OUTPUT|&amp;lt;code&amp;gt;FORCE-OUTPUT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORK-PROCESS|&amp;lt;code&amp;gt;FORK-PROCESS&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FORMAT|&amp;lt;code&amp;gt;FORMAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FOURTH|&amp;lt;code&amp;gt;FOURTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCALL|&amp;lt;code&amp;gt;FUNCALL&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION|&amp;lt;code&amp;gt;FUNCTION&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION-INFORMATION|&amp;lt;code&amp;gt;FUNCTION-INFORMATION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTION-SPEC-P|&amp;lt;code&amp;gt;FUNCTION-SPEC-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNCTIONP|&amp;lt;code&amp;gt;FUNCTIONP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FUNLESS|&amp;lt;code&amp;gt;FUNLESS&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-FWHEN|&amp;lt;code&amp;gt;FWHEN&amp;lt;/code&amp;gt;]] macro [[|]]&lt;br /&gt;
&lt;br /&gt;
==== G ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GC|&amp;lt;code&amp;gt;GC&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GENSYM|&amp;lt;code&amp;gt;GENSYM&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GENTEMP|&amp;lt;code&amp;gt;GENTEMP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET|&amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-CONSING-STATE|&amp;lt;code&amp;gt;GET-CONSING-STATE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-FILE-POSITION|&amp;lt;code&amp;gt;GET-FILE-POSITION&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-INTERNAL-REAL-TIME|&amp;lt;code&amp;gt;GET-INTERNAL-REAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-MACHINE-NAME|&amp;lt;code&amp;gt;GET-MACHINE-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-NETWORK-NAME|&amp;lt;code&amp;gt;GET-NETWORK-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-PROCESS-ID|&amp;lt;code&amp;gt;GET-PROCESS-ID&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-STRING-FROM-USER|&amp;lt;code&amp;gt;GET-STRING-FROM-USER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-UNIVERSAL-TIME|&amp;lt;code&amp;gt;GET-UNIVERSAL-TIME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GET-USER-NAME|&amp;lt;code&amp;gt;GET-USER-NAME&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-GETHASH|&amp;lt;code&amp;gt;GETHASH&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== H ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-HASH-TABLE-COUNT|&amp;lt;code&amp;gt;HASH-TABLE-COUNT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-HASH-TABLE-P|&amp;lt;code&amp;gt;HASH-TABLE-P&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== I ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IDENTITY|&amp;lt;code&amp;gt;IDENTITY&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IGNORE|&amp;lt;code&amp;gt;IGNORE&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-IN-PACKAGE|&amp;lt;code&amp;gt;IN-PACKAGE&amp;lt;/code&amp;gt;]] macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INPUT-STREAM-P|&amp;lt;code&amp;gt;INPUT-STREAM-P&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INSTALL-SIGNAL-HANDLER|&amp;lt;code&amp;gt;INSTALL-SIGNAL-HANDLER&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INT/|&amp;lt;code&amp;gt;INT/&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTEGER-DECODE-FLOAT|&amp;lt;code&amp;gt;INTEGER-DECODE-FLOAT&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTEGERP|&amp;lt;code&amp;gt;INTEGERP&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTERN|&amp;lt;code&amp;gt;INTERN&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-INTERSECTION|&amp;lt;code&amp;gt;INTERSECTION&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== J ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== K ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-KEYWORDP|&amp;lt;code&amp;gt;KEYWORDP&amp;lt;/code&amp;gt;]] function [[|]]&lt;br /&gt;
&lt;br /&gt;
==== L ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LAST|&amp;lt;code&amp;gt;LAST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LDB|&amp;lt;code&amp;gt;LDB&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LDIFF|&amp;lt;code&amp;gt;LDIFF&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LENGTH|&amp;lt;code&amp;gt;LENGTH&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LIST|&amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-443877220|&amp;lt;code&amp;gt;LIST*&amp;lt;/code&amp;gt;]] function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LIST-LENGTH|]]&amp;lt;code&amp;gt;LIST-LENGTH&amp;lt;/code&amp;gt; function function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LISTP|]]&amp;lt;code&amp;gt;LISTP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOAD|]]&amp;lt;code&amp;gt;LOAD&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOG-MESSAGE|]]&amp;lt;code&amp;gt;LOG-MESSAGE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-LOWER-CASE-P|]]&amp;lt;code&amp;gt;LOWER-CASE-P&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== M ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-HASH-TABLE|]]&amp;lt;code&amp;gt;MAKE-HASH-TABLE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-LIST|]]&amp;lt;code&amp;gt;MAKE-LIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-STRING|]]&amp;lt;code&amp;gt;MAKE-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-SYMBOL|]]&amp;lt;code&amp;gt;MAKE-SYMBOL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKE-VECTOR|]]&amp;lt;code&amp;gt;MAKE-VECTOR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAKUNBOUND|]]&amp;lt;code&amp;gt;MAKUNBOUND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPC|]]&amp;lt;code&amp;gt;MAPC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCAN|]]&amp;lt;code&amp;gt;MAPCAN&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCAR|]]&amp;lt;code&amp;gt;MAPCAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPCON|]]&amp;lt;code&amp;gt;MAPCON&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPHASH|]]&amp;lt;code&amp;gt;MAPHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPL|]]&amp;lt;code&amp;gt;MAPL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAPLIST|]]&amp;lt;code&amp;gt;MAPLIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MAX|]]&amp;lt;code&amp;gt;MAX&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MEMBER|]]&amp;lt;code&amp;gt;MEMBER&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MEMBER-IF|]]&amp;lt;code&amp;gt;MEMBER-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MIN|]]&amp;lt;code&amp;gt;MIN&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MINUSP|]]&amp;lt;code&amp;gt;MINUSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MISMATCH|]]&amp;lt;code&amp;gt;MISMATCH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MOD|]]&amp;lt;code&amp;gt;MOD&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MULTIPLE-VALUE-LIST|]]&amp;lt;code&amp;gt;MULTIPLE-VALUE-LIST&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-MUST|]]&amp;lt;code&amp;gt;MUST&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== N ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NBUTLAST|]]&amp;lt;code&amp;gt;NBUTLAST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NCONC|]]&amp;lt;code&amp;gt;NCONC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NINTERSECTION|]]&amp;lt;code&amp;gt;NINTERSECTION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NINTH|]]&amp;lt;code&amp;gt;NINTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-ACTIVITY|]]&amp;lt;code&amp;gt;NOTE-ACTIVITY&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-NUMERIC-PROGRESS|]]&amp;lt;code&amp;gt;NOTE-NUMERIC-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTE-PERCENT-PROGRESS|]]&amp;lt;code&amp;gt;NOTE-PERCENT-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTIFY-USER|]]&amp;lt;code&amp;gt;NOTIFY-USER&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-ACTIVITY|]]&amp;lt;code&amp;gt;NOTING-ACTIVITY&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-NUMERIC-PROGRESS|]]&amp;lt;code&amp;gt;NOTING-NUMERIC-PROGRESS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NOTING-PERCENT-PROGRESS|]]&amp;lt;code&amp;gt;NOTING-PERCENT-PROGRESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NRECONC|]]&amp;lt;code&amp;gt;NRECONC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NREVERSE|]]&amp;lt;code&amp;gt;NREVERSE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSET-DIFFERENCE|]]&amp;lt;code&amp;gt;NSET-DIFFERENCE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSET-EXCLUSIVE-OR|]]&amp;lt;code&amp;gt;NSET-EXCLUSIVE-OR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-CAPITALIZE|]]&amp;lt;code&amp;gt;NSTRING-CAPITALIZE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-DOWNCASE|]]&amp;lt;code&amp;gt;NSTRING-DOWNCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSTRING-UPCASE|]]&amp;lt;code&amp;gt;NSTRING-UPCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBLIS|]]&amp;lt;code&amp;gt;NSUBLIS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBST|]]&amp;lt;code&amp;gt;NSUBST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBST-IF|]]&amp;lt;code&amp;gt;NSUBST-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBSTITUTE|]]&amp;lt;code&amp;gt;NSUBSTITUTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NSUBSTITUTE-IF|]]&amp;lt;code&amp;gt;NSUBSTITUTE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NTH|]]&amp;lt;code&amp;gt;NTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NTHCDR|]]&amp;lt;code&amp;gt;NTHCDR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NULL|]]&amp;lt;code&amp;gt;NULL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NUMBERP|]]&amp;lt;code&amp;gt;NUMBERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-NUNION|]]&amp;lt;code&amp;gt;NUNION&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== O ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ODDP|]]&amp;lt;code&amp;gt;ODDP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-BINARY|]]&amp;lt;code&amp;gt;OPEN-BINARY&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-TCP-STREAM|]]&amp;lt;code&amp;gt;OPEN-TCP-STREAM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OPEN-TEXT|]]&amp;lt;code&amp;gt;OPEN-TEXT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-OUTPUT-STREAM-P|]]&amp;lt;code&amp;gt;OUTPUT-STREAM-P&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== P ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PAIRLIS|]]&amp;lt;code&amp;gt;PAIRLIS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PCASE|]]&amp;lt;code&amp;gt;PCASE&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PCOND|]]&amp;lt;code&amp;gt;PCOND&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PIF|]]&amp;lt;code&amp;gt;PIF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PLUSP|]]&amp;lt;code&amp;gt;PLUSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-POSITION|]]&amp;lt;code&amp;gt;POSITION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-POSITION-IF|]]&amp;lt;code&amp;gt;POSITION-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRIN1|]]&amp;lt;code&amp;gt;PRIN1&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRIN1-TO-STRING|]]&amp;lt;code&amp;gt;PRIN1-TO-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINC|]]&amp;lt;code&amp;gt;PRINC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINC-TO-STRING|]]&amp;lt;code&amp;gt;PRINC-TO-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINT|]]&amp;lt;code&amp;gt;PRINT&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PRINTING-OBJECT|]]&amp;lt;code&amp;gt;PRINTING-OBJECT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROBE-FILE|]]&amp;lt;code&amp;gt;PROBE-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROCLAIM|]]&amp;lt;code&amp;gt;PROCLAIM&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PROGN|]]&amp;lt;code&amp;gt;PROGN&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PUNLESS|]]&amp;lt;code&amp;gt;PUNLESS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PUT|]]&amp;lt;code&amp;gt;PUT&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-PWHEN|]]&amp;lt;code&amp;gt;PWHEN&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Q ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-QUOTE|]]&amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== R ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RANDOM|]]&amp;lt;code&amp;gt;RANDOM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RASSOC|]]&amp;lt;code&amp;gt;RASSOC&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RASSOC-IF|]]&amp;lt;code&amp;gt;RASSOC-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ|]]&amp;lt;code&amp;gt;READ&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-BYTE|]]&amp;lt;code&amp;gt;READ-BYTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-CHAR|]]&amp;lt;code&amp;gt;READ-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-FROM-STRING|]]&amp;lt;code&amp;gt;READ-FROM-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-READ-LINE|]]&amp;lt;code&amp;gt;READ-LINE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REM|]]&amp;lt;code&amp;gt;REM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMHASH|]]&amp;lt;code&amp;gt;REMHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE|]]&amp;lt;code&amp;gt;REMOVE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE-DUPLICATES|]]&amp;lt;code&amp;gt;REMOVE-DUPLICATES&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMOVE-IF|]]&amp;lt;code&amp;gt;REMOVE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REMPROP|]]&amp;lt;code&amp;gt;REMPROP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RENAME-FILE|]]&amp;lt;code&amp;gt;RENAME-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REPLACE|]]&amp;lt;code&amp;gt;REPLACE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REPORT-ERROR|]]&amp;lt;code&amp;gt;REPORT-ERROR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REST|]]&amp;lt;code&amp;gt;REST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RESTART-PROCESS|]]&amp;lt;code&amp;gt;RESTART-PROCESS&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RET|]]&amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REVAPPEND|]]&amp;lt;code&amp;gt;REVAPPEND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-REVERSE|]]&amp;lt;code&amp;gt;REVERSE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ROUND|]]&amp;lt;code&amp;gt;ROUND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RPLACA|]]&amp;lt;code&amp;gt;RPLACA&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-RPLACD|]]&amp;lt;code&amp;gt;RPLACD&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== S ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SCALE-FLOAT|]]&amp;lt;code&amp;gt;SCALE-FLOAT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEARCH|]]&amp;lt;code&amp;gt;SEARCH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SECOND|]]&amp;lt;code&amp;gt;SECOND&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEED-RANDOM|]]&amp;lt;code&amp;gt;SEED-RANDOM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEQUENCEP|]]&amp;lt;code&amp;gt;SEQUENCEP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET|]]&amp;lt;code&amp;gt;SET&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-AREF|]]&amp;lt;code&amp;gt;SET-AREF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-CHAR|]]&amp;lt;code&amp;gt;SET-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-CONSING-STATE|]]&amp;lt;code&amp;gt;SET-CONSING-STATE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-DIFFERENCE|]]&amp;lt;code&amp;gt;SET-DIFFERENCE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-EXCLUSIVE-OR|]]&amp;lt;code&amp;gt;SET-EXCLUSIVE-OR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-FILE-POSITION|]]&amp;lt;code&amp;gt;SET-FILE-POSITION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SET-NTH|]]&amp;lt;code&amp;gt;SET-NTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SETHASH|]]&amp;lt;code&amp;gt;SETHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SEVENTH|]]&amp;lt;code&amp;gt;SEVENTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SIXTH|]]&amp;lt;code&amp;gt;SIXTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SLEEP|]]&amp;lt;code&amp;gt;SLEEP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SORT|]]&amp;lt;code&amp;gt;SORT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STABLE-SORT|]]&amp;lt;code&amp;gt;STABLE-SORT&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STREAMP|]]&amp;lt;code&amp;gt;STREAMP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING|]]&amp;lt;code&amp;gt;STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-CAPITALIZE|]]&amp;lt;code&amp;gt;STRING-CAPITALIZE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-DOWNCASE|]]&amp;lt;code&amp;gt;STRING-DOWNCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-EQUAL|]]&amp;lt;code&amp;gt;STRING-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-GREATERP|]]&amp;lt;code&amp;gt;STRING-GREATERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-LEFT-TRIM|]]&amp;lt;code&amp;gt;STRING-LEFT-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-LESSP|]]&amp;lt;code&amp;gt;STRING-LESSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-EQUAL|]]&amp;lt;code&amp;gt;STRING-NOT-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-GREATERP|]]&amp;lt;code&amp;gt;STRING-NOT-GREATERP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-NOT-LESSP|]]&amp;lt;code&amp;gt;STRING-NOT-LESSP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-RIGHT-TRIM|]]&amp;lt;code&amp;gt;STRING-RIGHT-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-TRIM|]]&amp;lt;code&amp;gt;STRING-TRIM&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING-UPCASE|]]&amp;lt;code&amp;gt;STRING-UPCASE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING/=|]]&amp;lt;code&amp;gt;STRING/=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-427203732|]]&amp;lt;code&amp;gt;STRING&amp;amp;lt;&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-994985164|]]&amp;lt;code&amp;gt;STRING&amp;amp;lt;=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRING=|]]&amp;lt;code&amp;gt;STRING=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-427203988|]]&amp;lt;code&amp;gt;STRING&amp;amp;gt;&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-995017932|]]&amp;lt;code&amp;gt;STRING&amp;amp;gt;=&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-STRINGP|]]&amp;lt;code&amp;gt;STRINGP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBLIS|]]&amp;lt;code&amp;gt;SUBLIS&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSEQ|]]&amp;lt;code&amp;gt;SUBSEQ&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSETP|]]&amp;lt;code&amp;gt;SUBSETP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBST|]]&amp;lt;code&amp;gt;SUBST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBST-IF|]]&amp;lt;code&amp;gt;SUBST-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSTITUTE|]]&amp;lt;code&amp;gt;SUBSTITUTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SUBSTITUTE-IF|]]&amp;lt;code&amp;gt;SUBSTITUTE-IF&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SXHASH|]]&amp;lt;code&amp;gt;SXHASH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-FUNCTION|]]&amp;lt;code&amp;gt;SYMBOL-FUNCTION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-NAME|]]&amp;lt;code&amp;gt;SYMBOL-NAME&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-PLIST|]]&amp;lt;code&amp;gt;SYMBOL-PLIST&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOL-VALUE|]]&amp;lt;code&amp;gt;SYMBOL-VALUE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-SYMBOLP|]]&amp;lt;code&amp;gt;SYMBOLP&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== T ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TAILP|]]&amp;lt;code&amp;gt;TAILP&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TENTH|]]&amp;lt;code&amp;gt;TENTH&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TERPRI|]]&amp;lt;code&amp;gt;TERPRI&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-THIRD|]]&amp;lt;code&amp;gt;THIRD&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-THROW|]]&amp;lt;code&amp;gt;THROW&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIME-FROM-NOW|]]&amp;lt;code&amp;gt;TIME-FROM-NOW&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIME-HAS-ARRIVED?|]]&amp;lt;code&amp;gt;TIME-HAS-ARRIVED?&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TIMESTRING|]]&amp;lt;code&amp;gt;TIMESTRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TREE-EQUAL|]]&amp;lt;code&amp;gt;TREE-EQUAL&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-TRUNCATE|]]&amp;lt;code&amp;gt;TRUNCATE&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== U ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UNION|]]&amp;lt;code&amp;gt;UNION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UNREAD-CHAR|]]&amp;lt;code&amp;gt;UNREAD-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-UPPER-CASE-P|]]&amp;lt;code&amp;gt;UPPER-CASE-P&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-USER-CONFIRM|]]&amp;lt;code&amp;gt;USER-CONFIRM&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== V ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VALUES|]]&amp;lt;code&amp;gt;VALUES&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VARIABLE-INFORMATION|]]&amp;lt;code&amp;gt;VARIABLE-INFORMATION&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VECTOR|]]&amp;lt;code&amp;gt;VECTOR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-VECTORP|]]&amp;lt;code&amp;gt;VECTORP&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== W ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WARN|]]&amp;lt;code&amp;gt;WARN&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-BINARY-FILE|]]&amp;lt;code&amp;gt;WITH-BINARY-FILE&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-STATIC-AREA|]]&amp;lt;code&amp;gt;WITH-STATIC-AREA&amp;lt;/code&amp;gt; macro&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WITH-TEXT-FILE|]]&amp;lt;code&amp;gt;WITH-TEXT-FILE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE|]]&amp;lt;code&amp;gt;WRITE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-BYTE|]]&amp;lt;code&amp;gt;WRITE-BYTE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-CHAR|]]&amp;lt;code&amp;gt;WRITE-CHAR&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-IMAGE|]]&amp;lt;code&amp;gt;WRITE-IMAGE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-LINE|]]&amp;lt;code&amp;gt;WRITE-LINE&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-STRING|]]&amp;lt;code&amp;gt;WRITE-STRING&amp;lt;/code&amp;gt; function&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-WRITE-TO-STRING|]]&amp;lt;code&amp;gt;WRITE-TO-STRING&amp;lt;/code&amp;gt; function[[|]]&lt;br /&gt;
&lt;br /&gt;
==== X ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Y ====&lt;br /&gt;
&lt;br /&gt;
[[|]]&lt;br /&gt;
&lt;br /&gt;
==== Z ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[#FN-DEF-ZEROP|]]&amp;lt;code&amp;gt;ZEROP&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>DouglasRMiles</name></author>	</entry>

	<entry>
		<id>https://pdkb.chivanet.org/wiki/index.php?title=DouglasRMiles&amp;diff=280</id>
		<title>DouglasRMiles</title>
		<link rel="alternate" type="text/html" href="https://pdkb.chivanet.org/wiki/index.php?title=DouglasRMiles&amp;diff=280"/>
				<updated>2016-11-30T21:55:06Z</updated>
		
		<summary type="html">&lt;p&gt;DouglasRMiles: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gdoc id=&amp;quot;1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;font color=&amp;quot;pink&amp;quot;&amp;gt;[https://docs.google.com/document/d/1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI/edit#heading=h.uv71c9k7i3ck|Yak Shaving]&amp;lt;/font&amp;gt;&lt;br /&gt;
Commonsense Bibliography&lt;br /&gt;
 &lt;br /&gt;
Collected by Push Singh&lt;br /&gt;
Contributions from: Leiguang Gong, Stefan Marti and Erik Mueller&lt;br /&gt;
 &lt;br /&gt;
Last updated: 29 January 2002&lt;br /&gt;
 &lt;br /&gt;
Table of contents&lt;br /&gt;
 &lt;br /&gt;
1  	Recent overviews of the common sense problem&lt;br /&gt;
2  	Classics&lt;br /&gt;
3  	Cyc&lt;br /&gt;
3.1   	Cyc overview&lt;br /&gt;
3.2   	Cyc criticisms and evaluations&lt;br /&gt;
4  	Cognitive architectures&lt;br /&gt;
4.1   	Emotions&lt;br /&gt;
4.2   	Heterogenous architectures&lt;br /&gt;
4.3   	Blackboard systems&lt;br /&gt;
4.4   	Human-level AI&lt;br /&gt;
4.5   	Soar&lt;br /&gt;
4.6   	Case-based reasoning&lt;br /&gt;
4.7   	Belief-desire-intention architectures&lt;br /&gt;
5  	Acquiring common sense&lt;br /&gt;
5.1   	Distributed human projects&lt;br /&gt;
5.2   	Acquisition through sketching&lt;br /&gt;
5.3   	Learning structural representations&lt;br /&gt;
5.4   	Sensory-grounded learning&lt;br /&gt;
6  	Common sense reasoning&lt;br /&gt;
6.1   	Issues in common sense inference&lt;br /&gt;
6.2   	Default reasoning&lt;br /&gt;
6.3   	Reflection&lt;br /&gt;
6.4   	Problem reformulation&lt;br /&gt;
6.5   	Analogical reasoning&lt;br /&gt;
6.6   	Embodiment and metaphor&lt;br /&gt;
7  	Logical formalisms&lt;br /&gt;
7.1   	Situation calculus&lt;br /&gt;
7.2   	Event calculus&lt;br /&gt;
7.3   	Causal theories&lt;br /&gt;
7.4   	Features and fluents&lt;br /&gt;
8  	Contexts and organizing commonsense knowledge&lt;br /&gt;
9  	Representations for commonsense knowledge&lt;br /&gt;
9.1   	Overviews&lt;br /&gt;
9.2   	Commonsense ontologies&lt;br /&gt;
9.3   	Representing causality&lt;br /&gt;
9.4   	Representing time&lt;br /&gt;
9.5   	Story representations&lt;br /&gt;
9.6   	Connectionist representations&lt;br /&gt;
10	Applications of common sense knowledge&lt;br /&gt;
10.1 	Context-aware agents&lt;br /&gt;
10.2 	The Semantic Web&lt;br /&gt;
11	Robots and common sense&lt;br /&gt;
11.1 	Cognitive robotics&lt;br /&gt;
11.2 	Natural language interfaces to robots&lt;br /&gt;
12	Natural language&lt;br /&gt;
12.1 	Frame semantics&lt;br /&gt;
12.2 	Lexical semantics&lt;br /&gt;
13	Realms of thinking&lt;br /&gt;
13.1 	Spatial reasoning&lt;br /&gt;
13.2 	Physical reasoning&lt;br /&gt;
13.3 	Social reasoning&lt;br /&gt;
13.4 	Story understanding&lt;br /&gt;
13.5 	Visual reasoning&lt;br /&gt;
14	Psychology&lt;br /&gt;
14.1 	Cognitive psychology&lt;br /&gt;
14.2 	Psychology of memory&lt;br /&gt;
14.3 	Psychology of story understanding&lt;br /&gt;
14.4 	Psychology of inference&lt;br /&gt;
15	Criticisms&lt;br /&gt;
16	Web resources&lt;br /&gt;
17	UNPLACED&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
1          Recent overviews of the common sense problem&lt;br /&gt;
 &lt;br /&gt;
Minsky, Marvin. (2000). Commonsense-Based Interfaces. Communications of the ACM 43(8):67-73.&lt;br /&gt;
http://commonsense.media.mit.edu/minsky.pdf&lt;br /&gt;
http://library.navo.navy.mil/Journals/jcs03Aug00.pdf&lt;br /&gt;
 &lt;br /&gt;
Minsky, Marvin. (Forthcoming). The Emotion Machine (draft chapter on commonsense)&lt;br /&gt;
 &lt;br /&gt;
Singh, Push. (2002). The Open Mind Common Sense Project.&lt;br /&gt;
http://openmind.media.mit.edu/Kurzweil.htm&lt;br /&gt;
http://www.kurzweilai.net/meme/frame.html?main=/articles/art0371.html&lt;br /&gt;
 &lt;br /&gt;
Davis, E. (1998). The Naive Physics Perplex. AI Magazine, Winter 1998, Vol. 19. No. 4. pp. 51-79.&lt;br /&gt;
2          Classics&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John. (1959). Programs with Common Sense. In Mechanisation of Thought Processes, Proceedings of the Symposium of the National Physics Laboratory, London, U.K.: Her Majesty&amp;#039;s Stationery Office, pp. 77-84.&lt;br /&gt;
http://www-formal.stanford.edu/jmc/mcc59/mcc59.html&lt;br /&gt;
http://www-formal.stanford.edu/jmc/mcc59.pdf&lt;br /&gt;
 &lt;br /&gt;
Minsky, Marvin. (1968). Introduction. In Marvin L. Minsky (Ed.), Semantic information processing (pp. 1-32). Cambridge, MA: MIT Press.&lt;br /&gt;
 &lt;br /&gt;
Minsky, Marvin. (1974). A framework for representing knowledge (AI Memo 306). Artificial Intelligence Laboratory, Massachusetts Institute of Technology.&lt;br /&gt;
http://www.media.mit.edu/~minsky/papers/Frames/frames.html&lt;br /&gt;
 &lt;br /&gt;
Minsky, Marvin (1986). The society of mind. New York: Simon and Schuster.&lt;br /&gt;
 &lt;br /&gt;
3          Cyc&lt;br /&gt;
 &lt;br /&gt;
3.1         Cyc overview&lt;br /&gt;
 &lt;br /&gt;
Lenat, Douglas, &amp;amp; Guha, Ramanathan. (1990). Building large knowledge-based systems. Reading, MA: Addison-Wesley.&lt;br /&gt;
 &lt;br /&gt;
Lenat, Douglas, &amp;amp; Guha, Ramanathan. (1990). Cyc: A Mid Term Report. AI Magazine, 11(3):32-59.&lt;br /&gt;
 &lt;br /&gt;
Lenat, Douglas. (1995). CYC: A large-scale investment in knowledge infrastructure. Communications of the ACM, 38(11).&lt;br /&gt;
 &lt;br /&gt;
Guha, Ramanathan, &amp;amp; Lenat, Douglas. (1994). Enabling agents to work  together. Communications of the ACM, 37(7):127-142.&lt;br /&gt;
http://www.acm.org/pubs/citations/journals/cacm/1994-37-7/p126-guha/&lt;br /&gt;
http://www.acm.org/pubs/articles/journals/cacm/1994-37-7/p126-guha/p126-guha.pdf&lt;br /&gt;
 &lt;br /&gt;
3.2         Cyc criticisms and evaluations&lt;br /&gt;
 &lt;br /&gt;
Locke, Christopher. Common Knowledge or Superior Ignorance?&lt;br /&gt;
http://www.panix.com/~clocke/ieee.html&lt;br /&gt;
 &lt;br /&gt;
Pratt, Vaughan. Cyc report.&lt;br /&gt;
http://www.cs.umbc.edu/~narayan/proj/cyc-critic.html&lt;br /&gt;
 &lt;br /&gt;
Mahesh, Kavi, Nirenburg, Sergei, Cowie, Jim, &amp;amp; Farwell, David (1996). An assessment of Cyc for natural language processing (Technical Report MCCS 96-302). Computing Research Laboratory, New Mexico State University, Las Cruces, New Mexico.&lt;br /&gt;
http://crl.nmsu.edu/Research/Pubs/MCCS/Postscript/mccs-96-302.ps&lt;br /&gt;
 &lt;br /&gt;
Mark J. Stefik and Stephen W. Smoliar (1993). The Commonsense Reviews – Eight reviews of: Douglas Lenat and Ramanathan V. Guha (1990) Building Large Knowledge-Based Systems: Representations and Inference in the CYC Project, Addison-Wesley, and Ernest Davis, Representations of Commonsense Knowledge, Morgan Kaufmann 1990. Artificial Intelligence, 61:37-179.&lt;br /&gt;
http://www.cs.brandeis.edu/~brendy/CYC_report.txt&lt;br /&gt;
http://www1.elsevier.nl/inca/publications/store/5/0/5/6/0/1/&lt;br /&gt;
 &lt;br /&gt;
Guha, Ramanathan, &amp;amp; Lenat, Douglas. (1993). Re: CycLing paper reviews, Artificial Intelligence, 61(1):149-174.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
4          Cognitive architectures&lt;br /&gt;
 &lt;br /&gt;
4.1         Emotions&lt;br /&gt;
 &lt;br /&gt;
Sloman, Aaron. (2001). Beyond shallow models of emotion. Cognitive Processing, 1(1).&lt;br /&gt;
 &lt;br /&gt;
Chapters from:&lt;br /&gt;
Minsky, Marvin. (Forthcoming). The Emotion Machine.&lt;br /&gt;
 &lt;br /&gt;
4.2         Heterogenous architectures&lt;br /&gt;
 &lt;br /&gt;
Minsky, Marvin. (1991). Logical versus analogical or symbolic versus connectionist or neat versus scruffy. AI Magazine, Summer 1991.&lt;br /&gt;
 &lt;br /&gt;
Mueller, Erik T. (1998). Natural language processing with ThoughtTreasure. New York: Signiform.&lt;br /&gt;
http://www.signiform.com/tt/book/&lt;br /&gt;
 &lt;br /&gt;
Mueller, Erik T. (1990). Daydreaming in humans and machines: A computer model of the stream of thought. Norwood, NJ: Ablex/Intellect.&lt;br /&gt;
ftp://ftp.cs.ucla.edu/tech-report/198_-reports/870017.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Singh, Push. (1999). Big list of mental agents for common sense thinking.&lt;br /&gt;
http://www.media.mit.edu/people/push/agencies.html&lt;br /&gt;
 &lt;br /&gt;
4.3         Blackboard systems&lt;br /&gt;
 &lt;br /&gt;
Hayes-Roth, B. A blackboard architecture for control. Artificial Intelligence, 1985. 26: p. 251-321.&lt;br /&gt;
 &lt;br /&gt;
Nii, H. P. (1986). Blackboard Systems: The Blackboard Model of Problem Solving and the Evolution of Blackboard Architectures. AI Magazine, 7(2):38-53.&lt;br /&gt;
 &lt;br /&gt;
Engelmore, R. and Morgan, T. (1988). Blackboard systems. Addison-Wesley, Reading, Massachuset.&lt;br /&gt;
 &lt;br /&gt;
Carver, N., &amp;amp; Lesser, V. (1994). Evolution of blackboard control architectures. Expert Systems with Applications 7, 1-30.&lt;br /&gt;
 &lt;br /&gt;
4.4         Human-level AI&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John. The well-designed child.&lt;br /&gt;
http://www-formal.stanford.edu/jmc/child1.html&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John. (1996). From here to human-level AI.&lt;br /&gt;
http://www-formal.stanford.edu/jmc/human.html&lt;br /&gt;
 &lt;br /&gt;
4.5         Soar&lt;br /&gt;
 &lt;br /&gt;
Newell A., &amp;amp; Simon, H. A. (1963). GPS, a program that simulates human thought. In E. A. Feigenbaum and J. Feldman, editors, Computers and Thought, pages 279--293. McGraw-Hill, New York.&lt;br /&gt;
 &lt;br /&gt;
Lehman, J.F., Laird, J.E., &amp;amp; Rosenbloom, P.S. (1996) A gentle introduction to Soar, an architecture for human cognition. In S. Sternberg &amp;amp; D. Scarborough (eds.) Invitation to Cognitive Science, Volume 4.&lt;br /&gt;
 &lt;br /&gt;
Rosenbloom, P.S., Laird, J.E. &amp;amp; Newell, A. (1993) The Soar Papers: Readings on Integrated Intelligence. Cambridge, MA: MIT Press.&lt;br /&gt;
 &lt;br /&gt;
Laird, J.E., &amp;amp; Rosenbloom, P.S. (1996) The evolution of the Soar cognitive architecture. In T. Mitchell (ed.) Mind Matters.&lt;br /&gt;
 &lt;br /&gt;
Newell, A. (1990). Unified Theories of Cognition. Cambridge, MA: Harvard.&lt;br /&gt;
 &lt;br /&gt;
4.6         Case-based reasoning&lt;br /&gt;
 &lt;br /&gt;
Carbonell, J. (1986). Derivational analogy: a theory of reconstructive problem solving and expertise acquisition, in: R.S. Michalski et al. (eds.), Machine Intelligence; an AI approach, 2:371—392.&lt;br /&gt;
 &lt;br /&gt;
Hammond, C. (1989). Case-Based Planning: Viewing Planning as a Memory Task. Academic Press, San Diego.&lt;br /&gt;
 &lt;br /&gt;
K.J. Hammond. Explaining and Repairing Plans that Fail. Artificial Intelligence, 45(3):173--228, 1990.&lt;br /&gt;
 &lt;br /&gt;
Kolodner, J. (1992). An introduction to case-based reasoning. Artificial Intelligence Review, 6:3—34..&lt;br /&gt;
 &lt;br /&gt;
Kolodner, J. (1993). Case-Based Reasoning. Morgan Kaufman, San Mateo, CA.&lt;br /&gt;
 &lt;br /&gt;
Veloso, M. M., &amp;amp; Carbonell, J. G. (1993). Derivational analogy in Prodigy: Automating case acquisition, storage, and utilization. Machine Learning , 10 , 249--278.&lt;br /&gt;
 &lt;br /&gt;
4.7         Belief-desire-intention architectures&lt;br /&gt;
 &lt;br /&gt;
Fagin, Halpern, Moses, and Vardi. (1995). Reasoning About Knowledge. Cambridge, MA: MIT Press.&lt;br /&gt;
 &lt;br /&gt;
Cohen, Philip R., and Levesque, Hector J. (1990). Intention is choice with commitment. Artificial Intelligence, 42, 213-261.&lt;br /&gt;
 &lt;br /&gt;
M. E. Bratman, D. J. Isreal, and M. E. Pollack. Plans and resource-bounded practical reasoning. Computational Intelligence, 4(4), 1988.&lt;br /&gt;
http://citeseer.nj.nec.com/bratman88plans.html&lt;br /&gt;
 &lt;br /&gt;
A.S. Rao and M.P. Georgeff. Modeling rational agents within a BDI-architecture. In J. Allen, R. Fikes, and E. Sandewall, editors, Proceedings of the Second International Conference on Principles of Knowledge Representation and Reasoning (KR&amp;#039;91), pages 473-484. Morgan Kaufmann, 1991.&lt;br /&gt;
http://citeseer.nj.nec.com/rao91modeling.html&lt;br /&gt;
 &lt;br /&gt;
Halpern, J. and Moses, Y. 1984. Knowledge and common knowledge in a distributed environment, Proc. 3rd ACM Symposium on Principles of Distributed Computing, New York: ACM, pp. 50-61.&lt;br /&gt;
http://citeseer.nj.nec.com/halpern84knowledge.html&lt;br /&gt;
 &lt;br /&gt;
Lakemeyer, G. and Levesque, H. J., AOL: a logic of acting, sensing, knowing, and only knowing, Proc. of the 6th International Conference on Principles of Knowledge Representation and Reasoning (KR&amp;#039;98), Morgan Kaufmann, 1998.&lt;br /&gt;
5          Acquiring common sense&lt;br /&gt;
 &lt;br /&gt;
5.1         Distributed human projects&lt;br /&gt;
 &lt;br /&gt;
Stork, David. (1999). The OpenMind Initiative. IEEE Intelligent Systems &amp;amp; their applications, 14(3):19-20.&lt;br /&gt;
 &lt;br /&gt;
Singh, Push, et al. (In submission). Open Mind Common Sense: knowledge acquisition from the general public.&lt;br /&gt;
 &lt;br /&gt;
5.2         Acquisition through sketching&lt;br /&gt;
 &lt;br /&gt;
Forbus, K. D., Ferguson, R. W., &amp;amp; Usher, J. M. (2000). Towards a computational model of sketching, Proceedings of the International Conference on Intelligent User Interfaces . Sante Fe, New Mexico.&lt;br /&gt;
 &lt;br /&gt;
5.3         Learning structural representations&lt;br /&gt;
 &lt;br /&gt;
Pazzani, M., &amp;amp; Kibler, D. (1992). The Utility of Knowledge in Inductive Learning, Machine Learning, 9:57—94.&lt;br /&gt;
 &lt;br /&gt;
Quinlan, J. R., &amp;amp; Cameron-Jones, R. M. (1993). FOIL: A midterm report. In Pavel B. Brazdil, editor, Machine Learning: ECML-93, Vienna, Austria.&lt;br /&gt;
 &lt;br /&gt;
Quinlan, J. R., &amp;amp; Cameron-Jones, R. M. (1995). Induction of logic programs: FOIL and related systems. New Generation Computing, 13:287-312.&lt;br /&gt;
 &lt;br /&gt;
5.4         Sensory-grounded learning&lt;br /&gt;
 &lt;br /&gt;
Deb Roy. (In press). Learning Visually Grounded Words and Syntax of Natural Spoken Language. Evolution of Communication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sarah Finney, Natalia Gardiol Hernandez, Tim Oates, and Leslie Pack Kaelbling, &amp;quot;Learning in Worlds with Objects,&amp;quot; Working Notes of the AAAI Stanford Spring Symposium on Learning Grounded Representations, 2001.&lt;br /&gt;
 &lt;br /&gt;
Cohen, Paul R; Atkin, Marc S.; Oates, Tim; and Beal, Carole R. Neo: Learning Conceptual Knowledge by Sensorimotor Interaction with an Environment. In Proceedings of the First International Conference on Autonomous Agents, pages 170 - 177, 1997.&lt;br /&gt;
 &lt;br /&gt;
Schmill, Matthew D.; Oates, Tim; and Cohen, Paul R. Learning Planning Operators in Real-World, Partially Observable Environments. In Proceedings of the Fifth International Conference on Artificial Intelligence Planning and Scheduling, pages 246-253, 2000.&lt;br /&gt;
6          Common sense reasoning&lt;br /&gt;
 &lt;br /&gt;
6.1         Issues in common sense inference&lt;br /&gt;
 &lt;br /&gt;
Minsky, Marvin. (1981). Jokes and their relation to the cognitive unconscious. In Vaina and Hintikka (eds.), Cognitive Constraints on Communication.  Reidel.&lt;br /&gt;
 &lt;br /&gt;
Minsky, Marvin. (1994). Negative expertise, International Journal of Expert Systems, 7(1):13-19.&lt;br /&gt;
 &lt;br /&gt;
6.2         Default reasoning&lt;br /&gt;
 &lt;br /&gt;
McDermott, D., &amp;amp; Doyle. J. (1980). Non-Monotonic Logic I. Artificial Intelligence 13:41--72.&lt;br /&gt;
 &lt;br /&gt;
de Kleer, J. (1986). An Assumption Based Truth Maintenance System. Artificial Intelligence, 28:127-162.&lt;br /&gt;
 &lt;br /&gt;
Doyle, J. (1979). A truth maintenance system. Artificial Intelligence, 12:231—272.&lt;br /&gt;
 &lt;br /&gt;
Reiter, R. (1980). A logic for default reasoning. Artificial Intelligence 13:81--132.&lt;br /&gt;
 &lt;br /&gt;
6.3         Reflection&lt;br /&gt;
 &lt;br /&gt;
Smith, B. (1982). Reflection and semantics in a procedural language (Technical Report 272). Cambridge, MA: MIT, Laboratory for Computer Science.&lt;br /&gt;
 &lt;br /&gt;
Doyle, J. (1980). A model for deliberation, action, and introspection (Technical Report 581). Cambridge, MA: MIT, AI Laboratory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
McCarthy, John. (1995), Making robots conscious of their mental states, in AAAI Spring Symposium on Representing Mental States and Mechanisms.&lt;br /&gt;
 &lt;br /&gt;
E. Stroulia and A. Goel. Functional Representation and Reasoning in Reflective Systems. To appear in Journal of Applied Intelligence, Special Issue on Functional Reasoning, 9(1), January 1995.&lt;br /&gt;
 &lt;br /&gt;
6.4         Problem reformulation&lt;br /&gt;
 &lt;br /&gt;
Amarel, Saul. (1968). On representations of problems of reasoning about actions. In Michie, editor, Machine Intelligence 3, pages 131--171. Edinburgh University Press, 1968.&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John. Elaboration tolerance.&lt;br /&gt;
http://www-formal.stanford.edu/jmc/elaboration.html&lt;br /&gt;
 &lt;br /&gt;
6.5         Analogical reasoning&lt;br /&gt;
 &lt;br /&gt;
Falkenhainer, B., Forbus, K.D. and Gentner, D. (1990). The structure-mapping engine: algorithm and examples, Artificial Intelligence, 41:1-63.&lt;br /&gt;
http://citeseer.nj.nec.com/falkenhainer89structuremapping.html&lt;br /&gt;
 &lt;br /&gt;
Davis, E. (1991). Lucid representations. NYU Computer Science Dept. Tech Report 565.&lt;br /&gt;
http://citeseer.nj.nec.com/davis94lucid.html  &lt;br /&gt;
 &lt;br /&gt;
Gentner, D. (2001). Spatial metaphors in temporal reasoning. In M. Gattis (Ed.), Spatial schemas in abstract thought (pp. 203-222). Cambridge, MA: MIT Press.&lt;br /&gt;
http://www.psych.nwu.edu/psych/people/faculty/gentner/pdfs%20papers/spatial%20schemas.2001.pdf&lt;br /&gt;
 &lt;br /&gt;
Gentner, D., Bowdle, B., Wolff, P., &amp;amp; Boronat, C. (2001). Metaphor is like analogy. In D. Gentner, K. J. Holyoak, &amp;amp; B. N. Kokinov (Eds.), (2001). The analogical mind: Perspectives from cognitive science (pp. 199-253). Cambridge, MA: MIT Press.&lt;br /&gt;
http://www.psych.nwu.edu/psych/people/faculty/gentner/pdfs%20papers/gentner-a2k-01.pdf&lt;br /&gt;
 &lt;br /&gt;
Forbus, K. D., Gentner, D., Markman, A. B., &amp;amp; Ferguson, R. W. (1998). Analogy just looks like high-level perception: Why a domain-general approach to analogical mapping is right. Journal of Experimental and Theoretical Artificial Intelligence, 10(2), 231-257.&lt;br /&gt;
http://www.psych.nwu.edu/psych/people/faculty/gentner/pdfs%20papers/forbus-gentner-98.pdf&lt;br /&gt;
 &lt;br /&gt;
6.6         Embodiment and metaphor&lt;br /&gt;
 &lt;br /&gt;
Lakoff G. &amp;amp; Johnson M. (1990) Metaphors we live by. The University of Chicago Press.&lt;br /&gt;
 &lt;br /&gt;
Narayanan, S. (1997). Talking the Talk is Like Walking the Walk . (Also in Proceedings of CogSci97, Stanford, August 1997).&lt;br /&gt;
 &lt;br /&gt;
Siskind, Jeffrey M. (1994). Grounding language in perception. Artificial Intelligence Review, 8:371—391.&lt;br /&gt;
 &lt;br /&gt;
Siskind, Jeffrey M. (2001). Grounding the Lexical Semantics of Verbs in Visual Perception Using Force Dynamics and Event Logic. Journal of Artificial Intelligence Research, volume 15, pp. 31-90, August 2001.&lt;br /&gt;
7          Logical formalisms&lt;br /&gt;
 &lt;br /&gt;
7.1         Situation calculus&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John, &amp;amp; Hayes, Patrick J. (1969). Some philosophical problems from the standpoint of artificial intelligence. In D. Michie &amp;amp; B. Meltzer (Eds.), Machine intelligence 4. Edinburgh, Scotland: Edinburgh University Press.&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John (1990). Formalizing common sense. Norwood, NJ: Ablex.&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John. (1980). Circumscription -- a form of non-monotonic reasoning. Journal of Artificial Intelligence, 13:27—39.&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John. (1968). Programs with common sense. In: M. Minsky, (Ed.), Semantic Information Processing, MIT Press, Cambridge, MA, pages 403—418.&lt;br /&gt;
 &lt;br /&gt;
Reiter, Raymond (2001), Knowledge in Action: Logical Foundations for Specifying and Implementing Dynamical Systems. MIT Press.&lt;br /&gt;
 &lt;br /&gt;
7.2         Event calculus&lt;br /&gt;
 &lt;br /&gt;
R. Kowalski, &amp;amp; M. J. Sergot. (1986). A Logic-Based Calculus of Events. New Generation Computing, Vol. 4, Springer Verlag, pp. 67--95.&lt;br /&gt;
 &lt;br /&gt;
Shanahan, Murray (1997). Solving the frame problem. Cambridge, MA: MIT Press.&lt;br /&gt;
 &lt;br /&gt;
7.3         Causal theories&lt;br /&gt;
 &lt;br /&gt;
N. McCain and H. Turner. (1997). Causal theories of action and change. In Proceedings AAAI-97.&lt;br /&gt;
 &lt;br /&gt;
N. McCain and H. Turner. (1995). A causal theory of ramifications and qualifications. In Proceedings IJCAI-95.&lt;br /&gt;
 &lt;br /&gt;
Lifschitz, Vladimir. (2000). Missionaries and cannibals in the causal calculator. In Principles of Knowledge Representation and Reasoning: Proceedings of Seventh International Conference. To appear.&lt;br /&gt;
 &lt;br /&gt;
Lee, Joohyung, Lifschitz, Vladimir, &amp;amp; Turner, Hudson. (2001). A representation of the zoo world in the language of the causal calculator. Unpublished draft.&lt;br /&gt;
 &lt;br /&gt;
7.4         Features and fluents&lt;br /&gt;
 &lt;br /&gt;
Sandewall, Erik. (1994). Features and Fluents. The Representation of Knowledge about Dynamical Systems. Volume I. Oxford University Press.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
8          Contexts and organizing commonsense knowledge&lt;br /&gt;
 &lt;br /&gt;
Lenat, D. (1998) The dimensions of context-space, Cycorp technical report, www.cyc.com.&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John. (1993). Notes on formalizing context. In Proceedings of the thirteenth international joint conference on artificial intelligence.&lt;br /&gt;
http://citeseer.nj.nec.com/318177.html&lt;br /&gt;
 &lt;br /&gt;
9          Representations for commonsense knowledge&lt;br /&gt;
 &lt;br /&gt;
9.1         Overviews&lt;br /&gt;
 &lt;br /&gt;
R. Davis, H. Shrobe, and P. Szolovits. What is a Knowledge Representation? AI Magazine, pages 17--33, Spring 1993.&lt;br /&gt;
 &lt;br /&gt;
Selected chapters from Ernest Davis (1990). Representations of Commonsense Knowledge. San Mateo, CA: Morgan Kaufmann Publishers, Inc. (book, 544 pages)&lt;br /&gt;
“A central goal of artificial intelligence is to give a computer program commonsense understanding of basic domains such as time, space, simple laws of nature, and simple facts about human minds. Many different systems of representation and inference have been developed for expressing such knowledge and reasoning with it. Representations of Commonsense Knowledge is the first thorough study of these techniques.”&lt;br /&gt;
http://www.mkp.com/books_catalog/catalog.asp?ISBN=1-55860-033-7&lt;br /&gt;
 &lt;br /&gt;
9.2         Commonsense ontologies&lt;br /&gt;
 &lt;br /&gt;
Lenat, Douglas. Cyc Upper Ontology, See http://www.cyc.com/cyc-2-1/index.html&lt;br /&gt;
 &lt;br /&gt;
Lenat, Douglas, &amp;amp; Guha, Ramanathan. (1991). The Evolution of CycL, The Cyc Representation Language. SIGART Bulletin, 2(3): 84-87, June 1991.&lt;br /&gt;
 &lt;br /&gt;
Hayes, P. J. (1985). The Second Naive Physics Manifesto. In Formal Theories of the Commonsense World, 1-36, eds. J.R. Hobbs &amp;amp; R.C. Moore. Norwood, NJ: Ablex Publishing Corp. Also reprinted in Brachman &amp;amp; Levesque 1985, 468-485.&lt;br /&gt;
 &lt;br /&gt;
Hayes, P. J. (1985). Naive Physics I: Ontology for liquids. In Formal theories of the common sense world, ed. J.&lt;br /&gt;
 &lt;br /&gt;
Allen, J. F. and Hayes, P. J. (1985). A common-sense theory of time, Proceedings of the 9th International Joint Conference on Artificial Intelligence, pp. 528--531.&lt;br /&gt;
 &lt;br /&gt;
Hayes, P. J. (1979). Naive physics manifesto. Expert Systems in the Microelectronic Age. Edinburgh: Edinburgh University Press.&lt;br /&gt;
 &lt;br /&gt;
9.3         Representing causality&lt;br /&gt;
 &lt;br /&gt;
Pearl, J. (2000). Causality: Models, Reasoning and Inference. Cambridge University Press.&lt;br /&gt;
 &lt;br /&gt;
9.4         Representing time&lt;br /&gt;
 &lt;br /&gt;
Allen, J. F. (1991). Time and time again: The many ways to represent time. International Journal of Intelligent Systems 6(4):341-356, July 1991.&lt;br /&gt;
 &lt;br /&gt;
Allen, J. F. Planning as temporal reasoning. (1991). In Proceedings of 2nd Principles of Knowledge Representation and Reasoning, Morgan Kaufmann.&lt;br /&gt;
 &lt;br /&gt;
Allen, J. F. (1983). Maintaining knowledge about temporal intervals. Communications of the ACM, 26(11):832-843, November 1983.&lt;br /&gt;
 &lt;br /&gt;
Allen, J. F. (1984). Towards a general theory of action and time, Artificial Intelligence 23:123—154.&lt;br /&gt;
 &lt;br /&gt;
9.5         Story representations&lt;br /&gt;
 &lt;br /&gt;
Schank, Roger. (1972). Conceptual dependency: a theory of natural language understanding. Cognitive Psychology 3, 552--631.&lt;br /&gt;
 &lt;br /&gt;
Schank, R.C., &amp;amp; Rieger, C.J. (1974). Inference and the Computer Understanding of Natural Language. Artificial Intelligence, 5:373—412.&lt;br /&gt;
 &lt;br /&gt;
Mueller, Erik T. (1999). A database and lexicon of scripts for ThoughtTreasure.&lt;br /&gt;
http://www.signiform.com/tt/htm/script.htm&lt;br /&gt;
 &lt;br /&gt;
Mueller, Erik T. (1999): Prospects for in-depth story understanding by computer (unpublished paper, 23 pages)&lt;br /&gt;
http://www.media.mit.edu/~mueller/papers/storyund.html&lt;br /&gt;
 &lt;br /&gt;
Mueller, Erik T. (2002). Story understanding. In Encyclopedia of Cognitive Science. London: Nature Publishing Group.&lt;br /&gt;
 &lt;br /&gt;
9.6         Connectionist representations&lt;br /&gt;
 &lt;br /&gt;
Marvin Minsky, and Seymour Papert. Perceptrons (expanded edition), MIT Press,1988.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dyer …&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10 	Applications of common sense knowledge&lt;br /&gt;
 &lt;br /&gt;
10.1     Context-aware agents&lt;br /&gt;
 &lt;br /&gt;
Mueller, Erik T. (2000). A calendar with common sense. Proceedings of the 2000 International Conference on Intelligent User Interfaces (pp. 198-201). New York: Association for Computing Machinery.&lt;br /&gt;
 &lt;br /&gt;
Singh, Push. (2002). The public acquisition of commonsense knowledge.  In Proceedings of AAAI Spring Symposium: Acquiring (and Using) Linguistic (and World) Knowledge for Information Access.  Palo Alto, CA, AAAI.&lt;br /&gt;
 &lt;br /&gt;
McCarthy, John., &amp;quot;Some Expert Systems Need Commonsense, &amp;quot; in Lifschitz, V. (ed.), Formalizing Common Sense: Papers by John McCarthy, pp. 189-197, Norwood, NJ: Ablex, 1990.&lt;br /&gt;
 &lt;br /&gt;
Lenat, Douglas, &amp;amp; Guha, Ramanathan. (1994). Ideas for Applying CYC. Cyc technical report, www.cyc.com.&lt;br /&gt;
Available at http://www.cyc.com/tech-reports/act-cyc-407-91/act-cyc-407-91.html&lt;br /&gt;
 &lt;br /&gt;
Lieberman, Henry, &amp;amp; Selker, Ted. (2000). Out of context: Computer systems that adapt to, and learn from, context. IBM Systems Journal, 39(3,4):617-632.&lt;br /&gt;
http://www.research.ibm.com/journal/sj/393/part1/lieberman.pdf&lt;br /&gt;
 &lt;br /&gt;
10.2 	 The Semantic Web&lt;br /&gt;
 &lt;br /&gt;
Berners-Lee, Tim., Hendler, James, &amp;amp; Lassila, Ora. (2001). The Semantic Web. Scientific American Volume 284, Number 5, May 2001, pp. 34-43.&lt;br /&gt;
http://www.scientificamerican.com/2001/0501issue/0501berners-lee.html&lt;br /&gt;
 &lt;br /&gt;
Berners-Lee, Tim. (1998). Semantic Web Road map.&lt;br /&gt;
http://www.w3.org/DesignIssues/Semantic.html&lt;br /&gt;
 &lt;br /&gt;
Berners-Lee, Tim. (1998). What the Semantic Web can represent.&lt;br /&gt;
http://www.w3.org/DesignIssues/RDFnot.html&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
11 	Robots and common sense&lt;br /&gt;
 &lt;br /&gt;
Shapiro, Stuart C., Amir, Eyal, Grosskreutz, Henrik, Randell, David, &amp;amp; Soutchanski, Mikhail. (2001). Commonsense and Embodied Agents: A Panel Discussion. Common Sense 2001: 5th Symposium on Logical Formalizations of Commonsense Reasoning, May 20-22, 2001.&lt;br /&gt;
http://www.cs.nyu.edu/faculty/davise/commonsense01/final/panel.pdf&lt;br /&gt;
 &lt;br /&gt;
11.1     Cognitive robotics&lt;br /&gt;
 &lt;br /&gt;
Amir, Eyal, &amp;amp; Maynard-Reid Pedrito II. (2001). LiSA: A Robot Driven by Logical Subsumption. Common Sense 2001: 5th Symposium on Logical Formalizations of Commonsense Reasoning, May 20-22, 2001.&lt;br /&gt;
http://www.cs.nyu.edu/faculty/davise/commonsense01/papers.html#Amir&lt;br /&gt;
http://www.cs.nyu.edu/faculty/davise/commonsense01/final/amir.pdf&lt;br /&gt;
 &lt;br /&gt;
11.2     Natural language interfaces to robots&lt;br /&gt;
 &lt;br /&gt;
Eva Stopp, Klaus-Peter Gapp, Gerd Herzog, Thomas Längle, and Tim C. Lüth (1994). Utilizing Spatial Relations for Natural Language Access to an Autonomous Mobile Robot. Unpublished paper (paper, 16 pages)&lt;br /&gt;
http://wwwipr.ira.uka.de/internal/detailed_publication.php?id=974907079&lt;br /&gt;
 &lt;br /&gt;
Thomas Längle, Tim C. Lüth, Eva Stopp, Gerd Herzog, and Gjertrud Kamstrup (1995). KANTRA – A Natural Language Interface for Intelligent Robots. International Conference on Intelligent Autonomous Systems, Karlsruhe, Germany, March. In Rembold et al. (eds.), Intelligent Autonomous Systems, IOS Press, pp. 357-364 (paper, 8 pages)&lt;br /&gt;
http://wwwipr.ira.uka.de/internal/detailed_publication.php?id=975423485&lt;br /&gt;
http://wwwipr.ira.uka.de/internal/download.php?id=975423485&amp;amp;filetype=pdf&lt;br /&gt;
 &lt;br /&gt;
12 	Natural language&lt;br /&gt;
 &lt;br /&gt;
12.1     Frame semantics&lt;br /&gt;
 &lt;br /&gt;
Fillmore, C. (1968). The case for Case. Universals in Linguistic Theory. E. Bach and R. Harms. New York, Holt, Reinhart and Winston.&lt;br /&gt;
 &lt;br /&gt;
12.2     Lexical semantics&lt;br /&gt;
 &lt;br /&gt;
Jackendoff, R. (1983). Semantics and cognition. Cambridge, MA, MIT Press.&lt;br /&gt;
 &lt;br /&gt;
Pustejovsky, J. (1991). The generative lexicon. Computational linguistics 17: 409-441.&lt;br /&gt;
 &lt;br /&gt;
13 	Realms of thinking&lt;br /&gt;
 &lt;br /&gt;
13.1     Spatial reasoning&lt;br /&gt;
 &lt;br /&gt;
Amitabha Mukerjee, Neat vs Scruffy: A survey of Computational Models for Spatial Expressions&lt;br /&gt;
http://citeseer.nj.nec.com/250615.html&lt;br /&gt;
This is from a book called Representation and Processing of Spatial Expressions, Erlbaum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Davis, E. Representing and Acquiring Geographic Knowledge. Morgan Kauffman, California.&lt;br /&gt;
 &lt;br /&gt;
Kuipers, B. J. (1978). Modeling spatial knowledge. Cognitive Science, 2:129—153.&lt;br /&gt;
 &lt;br /&gt;
Kuipers, B. J. (2000). The spatial semantic hierarchy. Artificial Intelligence, 119:191—233.&lt;br /&gt;
 &lt;br /&gt;
13.2     Physical reasoning&lt;br /&gt;
 &lt;br /&gt;
Rieger, C., &amp;amp; Grinberg, M. (1977). The Causal Representation and Simulation of Physical Mechanisms. Technical Report TR-495, Dept. of Computer Science, University of Maryland.&lt;br /&gt;
 &lt;br /&gt;
13.3     Social reasoning&lt;br /&gt;
 &lt;br /&gt;
Lehnert, W. G. (1981). Plot Units and Narrative Summarization. Cognitive Science, 4:293—331.&lt;br /&gt;
 &lt;br /&gt;
Carbonell, J. (1980). Towards a process model of human personality traits. Artificial Intelligence, 15, 49-74.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hendler, J. (1988). Integrating Marker-Passing and Problem-Solving.&lt;br /&gt;
 &lt;br /&gt;
13.4     Story understanding&lt;br /&gt;
 &lt;br /&gt;
Ram, Ashwin. (1987). AQUA: asking questions and understanding answers. In Proceedings of the Sixth Annual National Conference on Artificial Intelligence, pp. 312--316 Seattle, WA.&lt;br /&gt;
 &lt;br /&gt;
13.5     Visual reasoning&lt;br /&gt;
 &lt;br /&gt;
L. Stark and K. Bowyer. ``Functional context in vision&amp;#039;&amp;#039;. In Workshop on Context-based Vision. IEEE Press, 1995.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
T.M. Strat and M.A. Fischler. ``The role of context in computer vision&amp;#039;&amp;#039;. In Workshop on Context-based Vision. IEEE Press, 1995.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
R.K. Srihari. ``Linguistic context in vision&amp;#039;&amp;#039;. In Workshop on Context-based Vision. IEEE Press, 1995.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
H. Buxton and S. Gong. ``Visual surveillance in a dynamic and uncertain world&amp;#039;&amp;#039;. Artificial Intelligence, 78:371--405, 1995.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Smith, Barry, &amp;quot;Formal Ontology, Common Sense, and Cognitive Science&amp;quot;, International Journal of Human- Computer Studies, 43 (1995).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gong, L., Kulikowski, C., Composition of Image Analysis Processes through Object-Centered Hierarchical Planning, IEEE TRANS on Pattern Recognition and Machine Intelligence (PAMI), 1995; 17(10):997-1009.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
T.M. Strat and M.A. Fischler. ``Context-based vision: Recognising objects using both 2D and 3D imagery&amp;#039;&amp;#039;. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13:1050--1065, 1991.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D. Rosenthal and R. Bajscy, ``Visual and conceptual hierarchy: a paradigm for studies of automated generation of recognition strategies&amp;#039;&amp;#039;, IEEE Trans. PAMI-6, 3: pp. 319-324, 1984.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
P. Selfridge,  ``Reasoning about success and failure in aerial image understanding&amp;#039;&amp;#039;, PhD Thesis, University of Rochester, 1981.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D. Garvey, &amp;quot;Perceptual strategies for purposive vision&amp;#039;&amp;#039;, Technical note 117, AI Center, SRI International, 1976.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M. Minsky, ``A Framework for representing knowledge&amp;#039;&amp;#039;, in The Psychology of Computer Vision. P.Winston (ed.), New York, McGraw-Hill 1975.&lt;br /&gt;
 &lt;br /&gt;
Roberto Casati and Achille C. Varzi. Holes and Other Superficialities, Cambridge, MA, and London: MIT Press [Bradford Books], 1994.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J.L. Crowley and H. Christensen. Vision as Process. Springer-Verlag, Berlin, 1993.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J. Aloimonos, Integration of Visual Modules. San Diego, Academic Press, Inc., 1989.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Steven Pinker. Editor. Visual Cognition, The MIT Press, 1988.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waltz, David L., &amp;amp; Boggess, Lois (1979). Visual analog representations for natural language understanding. Proceedings of the 1979 International Joint Conference on Artificial Intelligence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D. Marr. Vision, San Francisco, W.H. Freeman, 1982.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rudolf Arnheim. Visual Thinking, University of California Press, Ltd.,&lt;br /&gt;
1969.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gong, L., Image Analysis as Context-Based Reasoning, In Proc. of ISCA 10th International conference on Intelligent Systems. Virginia, p130-34, 2001. Ahmed E. Ibrahim An Intelligent Framework for Image Understanding&lt;br /&gt;
http://www.engr.uconn.edu/%7Eibrahim/publications/image.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Roger C. Schank, Andrew E. Fano: Memory and Expectations in Learning, Language, and Visual Understanding. 261-271.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
R. Collins, A. Lipton, T. Kanade, H. Fujiyoshi, D. Duggins, Y. Tsin, D. Tolliver, N. Enomoto, and O. Hasegawa tech. report CMU-RI-TR-00-12, Robotics Institute, Carnegie Mellon University, May, 2000.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nuria Oliver. &amp;quot;Towards Perceptual Intelligence: Statistical Modeling of Human Individual and Interactive Behaviors&amp;quot;, PhD thesis, MIT Media Lab, 2000.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Milan Sonka, Vaclav Hlavac, and Roger Boyle. Image Processing, Analysis, and Machine Vision, Pacific Grove, CA : PWS Pub. c1999.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Joachim M. Buhmann, Jitendra Malik and Pietro Perona. Image Recognition: Visual Grouping, Recognition and Learning. in: Proceedings of the National Academy of Science, Vol. 96, No 25, pp. 14203-14204, Dec. 7, 1999.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By Christopher O. Jaynes. Seeing is Believing: Computer Vision and Artificial Intelligence.  ACM Crossroads (the student magazine of the Association for Computing Machinery), 1996.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
H. Buxton and R. Howarth. ``Watching behaviour: The role of context and learning&amp;#039;&amp;#039;. In International Conference on Image Processing, Lausanne, Switzerland, 1996.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
G. Socher, G. Sagerer, F. Kummert and T. Fuhr. ``Talking about 3D scenes: Integration of image and speech understanding in a hybrid distributed system&amp;#039;&amp;#039;. In International Conference on Image Processing, Lausanne, Switzerland, 1996.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bobick, Aaron, and Pinhanez, Claudio. &amp;quot;Using Approximate Models as Source of Contextual Information for Vision Processing.&amp;quot;  Proceedings of the Workshop on Context-Based Vision, ICCV&amp;#039;95, Cambridge, Massachusetts, pp.13-21. June 1995.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bobick, Aaron, and S. Intille. &amp;quot;Exploiting Contextual Information for Tracking by Using Closed-Worlds.&amp;quot; Proceedings&lt;br /&gt;
of the Workshop on Context-Based Vision, Cambridge, Massachusetts, pp.87-98. June 1995.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cassell, Justine. &amp;quot;Speech, Action and Gestures as Context for Ongoing Task-Oriented Talk.&amp;quot; Proceedings of AAAI Fall Symposium on Embodied Language and Action, pp. 20-25. November 1995.&lt;br /&gt;
14 	Psychology&lt;br /&gt;
 &lt;br /&gt;
14.1     Cognitive psychology&lt;br /&gt;
 &lt;br /&gt;
Clark, Herbert H.  (1977). Bridging. In Thinking: Readings in Cognitive Science.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Graesser, Arthur C., Singer, Murray, and Trabasso, Tom (1994). Constructing inferences during narrative text comprehension. Psychological Review. 101(3):371-395.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
McKoon, Gail, &amp;amp; Ratcliff, Roger (1992). Inference during reading. Psychological Review. 99(3):440-466.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
McKoon, Gail, &amp;amp; Ratcliff, Roger (1986). Inferences about predictable events. Journal of Experimental Psychology: Learning, Memory, and Cognition. 12(1):82-91.&lt;br /&gt;
 &lt;br /&gt;
Beeman, Mark. (1998). Coarse semantic coding and discourse comprehension. In Right hemisphere language comprehension. Mahwah, NJ: Erlbaum.&lt;br /&gt;
 &lt;br /&gt;
Heider, Fritz (1958). The psychology of interpersonal relations. Hillsdale, NJ: Erlbaum.&lt;br /&gt;
 &lt;br /&gt;
Smedslund, Jan (1997). The structure of psychological common sense. Mahwah, NJ: Erlbaum.&lt;br /&gt;
 &lt;br /&gt;
14.2     Psychology of memory&lt;br /&gt;
 &lt;br /&gt;
Landauer, Thomas K. (1986). How much do people remember? Some estimates of the quantity of learned information in long-term memory. Cognitive Science, 10:477-493.&lt;br /&gt;
 &lt;br /&gt;
14.3     Psychology of story understanding&lt;br /&gt;
 &lt;br /&gt;
Goldman, Susan R., Graesser, Arthur C., &amp;amp; van den Broek, Paul (1999). Narrative comprehension, causality, and conherence. Mahwah, NJ: Erlbaum.&lt;br /&gt;
 &lt;br /&gt;
14.4     Psychology of inference&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
St. George, Marie, Mannes, Suzanne, and Hoffman, James E. (1997). Individual differences in inference generation: An ERP analysis. Journal of Cognitive Neuroscience, 9(6):776-787.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Van Petten, Cyma, &amp;amp; Kutas, Marta (1990). Interactions between sentence context and word frequency in event-related brain potentials. Memory &amp;amp; Cognition, 18(4):380-393.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tanenhaus, Michael K., Spivey-Knowlton, Michael J., Eberhard, Kathleen M., &amp;amp; Sedivy, Julie C. (1995). Integration of visual and linguistic information in spoken language comprehension. Science, 268, 1632-1634.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Burgess, Curt, &amp;amp; Simpson, Greg B. (1988). Cerebral hemispheric mechanisms in the retrieval of ambiguous word meanings. Brain and Language, 33:86-103.&lt;br /&gt;
http://locutus.ucr.edu/abstracts/88-bs-cere.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Caramazza, Alfonso (1998). The interpretation of semantic category-specific deficits: What do they reveal about the organization of conceptual knowledge in the brain? Neurocase, 4:265-272.&lt;br /&gt;
 &lt;br /&gt;
15 	Criticisms&lt;br /&gt;
 &lt;br /&gt;
McDermott, D. (1987). A critique of pure reason. Computational Intelligence, 3:151—160.&lt;br /&gt;
 &lt;br /&gt;
16 	Web resources&lt;br /&gt;
 &lt;br /&gt;
Commonsense problem page&lt;br /&gt;
http://www-formal.stanford.edu/leora/cs/&lt;br /&gt;
 &lt;br /&gt;
Open Mind Common Sense&lt;br /&gt;
http://www.openmind.org/commonsense&lt;br /&gt;
 &lt;br /&gt;
ThoughtTreasure&lt;br /&gt;
http://www.signiform.com/tt/htm/tt.htm&lt;br /&gt;
 &lt;br /&gt;
OpenCyc&lt;br /&gt;
http://www.opencyc.org&lt;br /&gt;
 &lt;br /&gt;
17 	UNPLACED&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Wilensky, R., 1983. Planning and Understanding: A Computational Approach to Human Reasoning. Reading, MA:Addison--Wesley.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Various papers by Doug Lenat&lt;br /&gt;
(e.g. Common Sense and the Mind of HAL by Doug Lenat)&lt;br /&gt;
 &lt;br /&gt;
Minsky, M.  More Turing Option chapters (on common sense bugs)&lt;br /&gt;
 &lt;br /&gt;
Paper on the IEEE Standard Upper Level ?&lt;br /&gt;
 &lt;br /&gt;
Selected papers from the Common Sense 2001: 5th Symposium on Logical Formalizations of Commonsense Reasoning. May 20-22, 2001&lt;br /&gt;
http://www.cs.nyu.edu/faculty/davise/commonsense01/&lt;br /&gt;
 &lt;br /&gt;
Jon Barwise and John Perry: Situations and Attitudes&lt;br /&gt;
Lucy Suchman: Situated Systems&lt;br /&gt;
 &lt;br /&gt;
More on conceptual primitives?&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Should anything from&lt;br /&gt;
http://www.eecs.umich.edu/~rthomaso/bibs/context.bib.txt&lt;br /&gt;
be incorporated?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modeling personality:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Don&amp;#039;t forget Dyer&amp;#039;s In-Depth Understanding and Lehnert&amp;#039;s book on question answering and work on plot units.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Logical approaches to reasoning about action and change (I think you&amp;#039;ve tracked most of these down already):&lt;br /&gt;
Situation calculus&lt;br /&gt;
  	McCarthy and Hayes, Some Philosophical Problems ...&lt;br /&gt;
  	Reiter, Knowledge in Action&lt;br /&gt;
Event calculus&lt;br /&gt;
  	Kowalski and Sergot&lt;br /&gt;
  	Shanahan, Solving the Frame Problem&lt;br /&gt;
Features and fluents&lt;br /&gt;
  	Sandewall&lt;br /&gt;
  	Temporal Action Logics: Patrick Doherty (this is an important derivative of Features and Fluents with an implementation as the program VITAL)&lt;br /&gt;
Causal theories&lt;br /&gt;
  	McCain and Turner (papers attached)&lt;br /&gt;
(See attached file: ActionLanguages.ps)(See attached file: CCalcManual.ps)&lt;br /&gt;
(See attached file: McCainPhD.ps)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Big List of Mental Agents for Common Sense Thinking&lt;br /&gt;
Push Singh | MIT Media Lab&lt;br /&gt;
Started 4-1-98 &lt;br /&gt;
Last updated 12-7-99&lt;br /&gt;
&lt;br /&gt;
Contents | Vocabulary | Questions | Agents | Representations&lt;br /&gt;
&lt;br /&gt;
1. Contents&lt;br /&gt;
The following is a list of many of the elements one needs to build a system capable of commonsense thinking.  No AI system contains all of them, though many contain more than a few of them.  I am trying to put these elements together into a system in order to control a simulated robot.&lt;br /&gt;
I have implemented many of them using standard AI building blocks (recognize, compare, retrieve, etc.)  I am working on a multiagent cognitive architecture to build them in, based on ideas from Marvin Minsky&amp;#039;s Society of Mind theory, which is efficient, cooperative, and robust at responding to failures, but I will leave that discussion for another time.  Nevertheless, I see many of the following elements as easily programmed in any architecture.  This list of elements taken together implies a larger, more powerful architecture than the architecture that underlies it, so it is not clear how much it matters what the underlying architecture is.&lt;br /&gt;
One could probably go through the literature and find several hundred more elements.  This list came from working on the problem of building a robot capable of movement and manipulation, and learning what techniques could be applied to solving the many problems that came up, and figuring out how to organize them into a single system.&lt;br /&gt;
Despite the large size of this list, I think building this architecture is only one percent of the big problem of building a system capable of commonsense thinking.  There&amp;#039;s a lot more you need to know, both in terms of how to think and what to think.  And in the end, everyone has their own &amp;quot;thinking style&amp;quot;, which no single, simple architecture will be able to encompass.&lt;br /&gt;
&lt;br /&gt;
2. Basic Vocabulary of Objects for Artificial Intelligence&lt;br /&gt;
This system is &amp;quot;object oriented&amp;quot; in the sense that there are a standard set of objects which the agents use and manipulate.  Here are some of the objects needed: &lt;br /&gt;
 &lt;br /&gt;
plan&lt;br /&gt;
manager&lt;br /&gt;
priority&lt;br /&gt;
options&lt;br /&gt;
sensor&lt;br /&gt;
difference&lt;br /&gt;
transition&lt;br /&gt;
goal&lt;br /&gt;
subgoal&lt;br /&gt;
situation&lt;br /&gt;
state&lt;br /&gt;
script&lt;br /&gt;
&lt;br /&gt;
method&lt;br /&gt;
failure&lt;br /&gt;
impasse/handler&lt;br /&gt;
frame&lt;br /&gt;
transframe&lt;br /&gt;
k-line&lt;br /&gt;
paranome&lt;br /&gt;
polyneme&lt;br /&gt;
operator&lt;br /&gt;
constraint&lt;br /&gt;
object&lt;br /&gt;
event&lt;br /&gt;
&lt;br /&gt;
property&lt;br /&gt;
relation&lt;br /&gt;
expectation&lt;br /&gt;
deviation&lt;br /&gt;
precondition&lt;br /&gt;
proposer&lt;br /&gt;
censor&lt;br /&gt;
advocate&lt;br /&gt;
critic&lt;br /&gt;
optimist&lt;br /&gt;
pessimist&lt;br /&gt;
predict&lt;br /&gt;
&lt;br /&gt;
3. Mental Questions that Direct Common Sense Thinking&lt;br /&gt;
One way to control the direction of mental activity is by focusing on some set of questions.  Of course, these questions do not need to be expressed in english, and may be expressed as queries in various internal representations.  These questions initiate and prioritize inference processes that help answer them.  Here are some of the questions a robot should always be asking itself:&lt;br /&gt;
What is going to happen next?&lt;br /&gt;
What would explain this?&lt;br /&gt;
What is the best thing for me to do now?&lt;br /&gt;
What objects are around me?&lt;br /&gt;
What is happening around me?&lt;br /&gt;
Have I seen that object before?&lt;br /&gt;
What can I learn from this event?&lt;br /&gt;
What can I learn from this failure?&lt;br /&gt;
How long will it take to perform this action?&lt;br /&gt;
What sorts of things might go wrong while performing this action?&lt;br /&gt;
What sorts of problems might occur, and how can I prepare for them?&lt;br /&gt;
Am I spending too much time on this problem?&lt;br /&gt;
&lt;br /&gt;
4. Mental Agents for Common Sense Thinking&lt;br /&gt;
Some of these agents are simple IF-THEN-DO rules. &lt;br /&gt;
Some are more complex IF-THEN-DECIDE/SEARCH rules. &lt;br /&gt;
Some are really complex IF-THEN-FIGURE-OUT rules!&lt;br /&gt;
Tracking, Recognizing and Describing&lt;br /&gt;
given a partial state, try to find a frame that describes it (if you see a fridge and stove, think &amp;quot;kitchen&amp;quot;)&lt;br /&gt;
given a situation, find a more abstract representation of it&lt;br /&gt;
given a description, find something additional to say about it&lt;br /&gt;
given an object for which a set of categories match, look for a feature that discriminates between them&lt;br /&gt;
binding problem: if an object might be the same as one seen before, impose temporal-behavioral constraints to verify&lt;br /&gt;
Goal Scheduling and Monitoring&lt;br /&gt;
given a goal that cannot seem to be achieved, give up on the goal&lt;br /&gt;
given a goal that cannot seem to be achieved, censor the goal&lt;br /&gt;
given a pair of goals, look for a causal chain that results in a conflict between them&lt;br /&gt;
given a pair of goals, prioritize them with respect to higher priority supergoals&lt;br /&gt;
given a goal, propose a set of subgoals to achieve it&lt;br /&gt;
given a goal, find the difference between it and the situation in order to characterize the problem&lt;br /&gt;
monitor for mania: believing you can achieve any goal&lt;br /&gt;
monitor for scattered feeling: too many goals are active at once&lt;br /&gt;
monitor for impatience: wanting too many things right away&lt;br /&gt;
monitor for depression: excessively critical of your actions and goals&lt;br /&gt;
checkpoint our mental state whenever something important happens&lt;br /&gt;
Plan Construction&lt;br /&gt;
given a problem, reset your mind state to an earlier state in which a similar problem was solved (k-lines)&lt;br /&gt;
given a problem, retrieve from memory an abstract plan to solve it&lt;br /&gt;
given a problem, try to chain a few methods to solve it&lt;br /&gt;
given a problem, look for different ways to solve that problem&lt;br /&gt;
given a plan, adapt it to the present situation&lt;br /&gt;
given a plan, adapt it to the present goal context&lt;br /&gt;
given a plan, check if you have tried it recently and it failed, and if so suppress it&lt;br /&gt;
given a primary goal and secondary goals, retrieve a plan that achieves primary but does not undo secondary&lt;br /&gt;
given a situation, look for methods you can execute&lt;br /&gt;
given a goal, look for methods that have been known to achieve it&lt;br /&gt;
given a method, look for ways to adapt it&lt;br /&gt;
given a plan, criticize the plan by finding another reason why it will fail&lt;br /&gt;
given a plan, justify the plan by finding another reason why it will work&lt;br /&gt;
given a script, generate a version of that script that monitors important conditions&lt;br /&gt;
given a plan to execute, assign monitors to its preconditions&lt;br /&gt;
given a method under consideration, check if the method is undoable&lt;br /&gt;
given a plan, estimate how long it will take&lt;br /&gt;
given a plan, predict what resources it will take and what goals it will undo&lt;br /&gt;
given a pair of plans that achieve the same goal, find some way to combine them into a better plan&lt;br /&gt;
given a plan that is strongly criticized, censor it&lt;br /&gt;
given a plan being constructed, add constraints one at a time&lt;br /&gt;
given a plan being constructed, prefer plans that are undoable&lt;br /&gt;
given that a plan cannot be adapted, raise an impasse&lt;br /&gt;
given that no plan can be retrieved, raise an impasse&lt;br /&gt;
given a set of subplans, combine them into a larger plan in which their mutual interactions are resolved&lt;br /&gt;
given a problem, try to find a simple problem that resembles it and try to solve the simple problem&lt;br /&gt;
Plan Selection&lt;br /&gt;
given two plans, compare them to see which is better&lt;br /&gt;
Plan Optimization&lt;br /&gt;
given a plan, look for a plan that is better than it in some regard, and try to improve it in that regard&lt;br /&gt;
given a plan, improve its reliability and speed and minimize its use of resources&lt;br /&gt;
given a plan, look for simple useful variations&lt;br /&gt;
Plan Parallelizing&lt;br /&gt;
given a set of plans, run them at the same time and monitor for interactions&lt;br /&gt;
Plan Verification&lt;br /&gt;
given a plan, try the plan in simulation&lt;br /&gt;
given a plan, consider the cost of failure of the plan&lt;br /&gt;
given a plan, check if its preconditions are satisfied&lt;br /&gt;
Plan Learning&lt;br /&gt;
given an applied method, note any deviations from expected effects&lt;br /&gt;
given a successful plan, try that plan in other situations and on other methods, to learn more about it&lt;br /&gt;
given a successful plan, save the plan to memory&lt;br /&gt;
given a successful plan, index the plan&lt;br /&gt;
Plan Execution and Monitoring&lt;br /&gt;
given a plan, execute it&lt;br /&gt;
given an executing plan, monitor if the actions do as expected&lt;br /&gt;
given an executing plan, check if its actions are taking too long&lt;br /&gt;
given an executing plan, suppress it if it is predicted it will achieve a dangerous state&lt;br /&gt;
Dealing with Planning Impasses&lt;br /&gt;
given a failed plan, try the plan in simulation at finer temporal grain&lt;br /&gt;
given a failed plan, try the plan in simulation while simulated more objects&lt;br /&gt;
given a failed plan, try the plan in simulation while simulating causes&lt;br /&gt;
given a failed plan, figure out which subaction didn&amp;#039;t achieve its subgoal&lt;br /&gt;
given a failed plan, find or generate an alternate plan&lt;br /&gt;
given a failed plan, try another plan&lt;br /&gt;
given a failed plan, mutate the plan slightly in a way that worked before, and try again&lt;br /&gt;
given a failed plan that has been recently modified, regress to an earlier version of that plan&lt;br /&gt;
given a failed method, check if its preconditions are still satisfied&lt;br /&gt;
given a failed method, change a parameter of a method, like doing it harder or more smoothly&lt;br /&gt;
given a failed method, do some experiments to test the method&lt;br /&gt;
Prediction and Envisioning&lt;br /&gt;
given a situation, predict the next state by memory (using a transframe)&lt;br /&gt;
given a situation, predict the next state by dynamic simulation (like QSIM)&lt;br /&gt;
given a simulation, control its level of detail (which and how many objects and properties are simulated)&lt;br /&gt;
Expectation Failure&lt;br /&gt;
given an expectation failure, raise an impasse&lt;br /&gt;
given an object that behaves unexpectedly, try to explain it by seeing it in terms of other frame&lt;br /&gt;
Perceiving&lt;br /&gt;
given an object and a frame, look for a way to see an object in terms of the frame&lt;br /&gt;
given an object, look for unusual features&lt;br /&gt;
given a transframe, look for ways to see the current situation in terms of it&lt;br /&gt;
given an observed event, try to break it down into achievable subevents&lt;br /&gt;
given an object in the world, check if you saw it before&lt;br /&gt;
given a situation, recognize the general context (inside, outside, etc.)&lt;br /&gt;
Understanding and Explaining the Dynamic Situation&lt;br /&gt;
given an event, look for its cause&lt;br /&gt;
given a sequence of events, judge whether things are getting better or worse&lt;br /&gt;
given an unusual conclusion, verify it by trying to prove it another way&lt;br /&gt;
given a pair of situations, before and after, find a chain of events that links them&lt;br /&gt;
given a failure, look for another frame in terms of which to describe the situation&lt;br /&gt;
given an event, verify that it meets our expectations&lt;br /&gt;
Reasoning&lt;br /&gt;
given an assertion, assert its opposite and monitor for a contradiction&lt;br /&gt;
given a theory (a set of constraints), find an example from memory or in the environment&lt;br /&gt;
given a theory, find a counterexample from memory or in the environment&lt;br /&gt;
given a pair of theories, find analogies between them&lt;br /&gt;
given a pair of theories and a goal, find analogies between them with respect to the goal&lt;br /&gt;
given a property P, and P implies Q, then assume Q&lt;br /&gt;
given a property Q, and P implies Q, then check if P is true&lt;br /&gt;
given a pair of properties P and Q, if there is a constraint between those properties, verify the constraint&lt;br /&gt;
if there is a constraint failure between properties, verify the properties involved&lt;br /&gt;
given a failure of reasoning, describe the reasoning using your language machinery&lt;br /&gt;
given a failure of reasoning, reformulate by modifying your theory&lt;br /&gt;
Dealing with Reasoning Impasses&lt;br /&gt;
given a failure, look for a failed assumption&lt;br /&gt;
given a failure, look for a missing assumption&lt;br /&gt;
given an explanation, look for a weakness&lt;br /&gt;
given an X, criticize it&lt;br /&gt;
Learning and Abstracting&lt;br /&gt;
given a successful plan, save the trace of how it was derived&lt;br /&gt;
given a set of objects, look for a way to uniframe them&lt;br /&gt;
given a set of events, build a theory that explains the behavior&lt;br /&gt;
given an object, find a new frame that matches it&lt;br /&gt;
given a new object, construct a frame for it&lt;br /&gt;
given a new X, construct a frame for it&lt;br /&gt;
given a set of descriptions, find a way to unify them as variations of a single description&lt;br /&gt;
given an observed method, figure out how to copy it&lt;br /&gt;
given a failure, construct a critic that complains when it sees the potential to fail that way again&lt;br /&gt;
given a pair of correlated events, look for a causal dependency between them, and if found build transframe&lt;br /&gt;
given a plan of action or reasoning, generalize it by variablizing its elements&lt;br /&gt;
given a successful plan, take a snapshot of the mental state in which it was discovered (make a k-line)&lt;br /&gt;
Resource Management&lt;br /&gt;
given no more resource, replenish that resource (if out of fuel, go get more)&lt;br /&gt;
given no more resource, find another source of that resource (if fuel tank is empty, find another tank)&lt;br /&gt;
given a resource, see how much of that resource is left (check gauge in fuel tank)&lt;br /&gt;
given a function, find another way to achieve that function (you can also walk on your hands!)&lt;br /&gt;
Thinking for the Future (Daydreaming, Worrying)&lt;br /&gt;
given an anti-goal, build pessimists by thinking of ways we might get to that anti-goal&lt;br /&gt;
given a goal, build optimists by thinking of ways we might get to that goal&lt;br /&gt;
given a plan, look for subplans that can be extracted and usable in their own right, and index them&lt;br /&gt;
given a goal, make a list of the top 10 ways we might fail at that goal&lt;br /&gt;
Knowledge Management and Maintenance (Theories, Plans, etc.)&lt;br /&gt;
given a method, index it according to its effects&lt;br /&gt;
given a set of operators, find a reformulation of those operators that &amp;quot;orthogonalizes&amp;quot; them&lt;br /&gt;
given a pair of representations, look for an analogy&lt;br /&gt;
given a transframe, look for scripts that match it&lt;br /&gt;
given a pair of frames, find the differences between them&lt;br /&gt;
given a set of plans that achieve the same goal, index them so we can quickly jump between them&lt;br /&gt;
given a method, look for plans that can undo its effects&lt;br /&gt;
Multi-Agent Coordination&lt;br /&gt;
given a method, check if it interferes with the goals of the other agents&lt;br /&gt;
given a method, check if it might help other agents&lt;br /&gt;
if an agent notices another agent doing something that might help it, help that other agent do it&lt;br /&gt;
given a manager, look for ways in which its worker agents might interfere with one another&lt;br /&gt;
given a pair of interacting agents, debug the interaction one at a time&lt;br /&gt;
if a manager notices a set of agents working well together, consider them a team&lt;br /&gt;
Social Reasoning&lt;br /&gt;
given a person, guess at their goals from their actions&lt;br /&gt;
given a person model, simulate what they would do in some situation S&lt;br /&gt;
given a person model, simulate what they would think in some situation S&lt;br /&gt;
Language&lt;br /&gt;
given a sentence, generate some possible syntactic parses of it&lt;br /&gt;
given a sentence, generate some possible interpretations of it in other representations&lt;br /&gt;
given a word, check if you know what it means&lt;br /&gt;
given a sentence, record how the words in that sentence are used&lt;br /&gt;
given a sentence, determine its type (examples: question, asserting a truth, rhetorical statement)&lt;br /&gt;
given a desired mental state of a listener, generate a sentence that achieves that mental state (reduplication)&lt;br /&gt;
Vision&lt;br /&gt;
given a visual scene, track the objects in it&lt;br /&gt;
given one view of an object, retrieve other views of that object&lt;br /&gt;
given a view of an object, compute its contour&lt;br /&gt;
Comparing and Decision Making&lt;br /&gt;
given a set of options, consider the consequences of choosing them&lt;br /&gt;
Searching and Constraint Satisfaction&lt;br /&gt;
given lack of progress or cycling, declare an impasse&lt;br /&gt;
given a set of constraints between variables, look for a set of variable assignments that satisfy it&lt;br /&gt;
given a causal dependency, monitor that if the independent variable changes, then the dependent one changes&lt;br /&gt;
given bidirectional constraint between variables, monitor that if one changes so does the other one&lt;br /&gt;
&lt;br /&gt;
5. Mental Representations for Common Sense Thinking&lt;br /&gt;
These agents operate on data structures that represent aspects of the world and of the mind of the robot itself.  Here are some examples of the kinds of concepts robots will need.  Each of these should be represented in multiple ways!&lt;br /&gt;
time : before, after, duration, sensed-at-time&lt;br /&gt;
temporal : repeating-event, sudden-event&lt;br /&gt;
methods : expensive, cheap, one-time, undoable&lt;br /&gt;
events : periodic, unspecified duration, momentary&lt;br /&gt;
shape : round, square, changing, has-holes&lt;br /&gt;
bodily : hand position, head position, orientation&lt;br /&gt;
spatial : boundaries, paths, holes&lt;br /&gt;
physical : solid, flexible, surfaces, connections&lt;br /&gt;
perceptual : occlusion, clarity, depth&lt;br /&gt;
geometric : above, near, inside, outside&lt;br /&gt;
goals : closer-to-goal, interacting-goals&lt;br /&gt;
resources : limbs-as-resource, time-as-resource&lt;br /&gt;
balance : center-of-mass, leaning-to-the-left&lt;br /&gt;
movement : moving-quickly, moving-sporadically&lt;br /&gt;
energy : expensive, cheap&lt;br /&gt;
difficulty : hard, easy&lt;/div&gt;</summary>
		<author><name>DouglasRMiles</name></author>	</entry>

	<entry>
		<id>https://pdkb.chivanet.org/wiki/index.php?title=DouglasRMiles&amp;diff=4</id>
		<title>DouglasRMiles</title>
		<link rel="alternate" type="text/html" href="https://pdkb.chivanet.org/wiki/index.php?title=DouglasRMiles&amp;diff=4"/>
				<updated>2016-09-23T15:24:31Z</updated>
		
		<summary type="html">&lt;p&gt;DouglasRMiles: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gdoc id=&amp;quot;1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;font color=&amp;quot;pink&amp;quot;&amp;gt;[https://docs.google.com/document/d/1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI/edit#heading=h.uv71c9k7i3ck|Yak Shaving]&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>DouglasRMiles</name></author>	</entry>

	<entry>
		<id>https://pdkb.chivanet.org/wiki/index.php?title=DouglasRMiles&amp;diff=3</id>
		<title>DouglasRMiles</title>
		<link rel="alternate" type="text/html" href="https://pdkb.chivanet.org/wiki/index.php?title=DouglasRMiles&amp;diff=3"/>
				<updated>2016-09-23T15:23:15Z</updated>
		
		<summary type="html">&lt;p&gt;DouglasRMiles: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gdoc id=&amp;quot;1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;strong&amp;gt;[https://docs.google.com/document/d/1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI/edit#heading=h.uv71c9k7i3ck|Yak Shaving]&amp;lt;/strong&amp;gt;&lt;/div&gt;</summary>
		<author><name>DouglasRMiles</name></author>	</entry>

	<entry>
		<id>https://pdkb.chivanet.org/wiki/index.php?title=DouglasRMiles&amp;diff=2</id>
		<title>DouglasRMiles</title>
		<link rel="alternate" type="text/html" href="https://pdkb.chivanet.org/wiki/index.php?title=DouglasRMiles&amp;diff=2"/>
				<updated>2016-09-23T15:19:53Z</updated>
		
		<summary type="html">&lt;p&gt;DouglasRMiles: Created page with &amp;quot;&amp;lt;gdoc id=&amp;quot;1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI&amp;quot; /&amp;gt;  ---- [https://docs.google.com/document/d/1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI/edit#heading=h.uv71c9k7i3ck]Y...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gdoc id=&amp;quot;1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[https://docs.google.com/document/d/1XCDnWMjNh4y2Um_1B-HE4x5Q34oxHRxBl-Oy9eNUzTI/edit#heading=h.uv71c9k7i3ck]Yak Shaving&lt;/div&gt;</summary>
		<author><name>DouglasRMiles</name></author>	</entry>

	</feed>