emacs.d/clones/lisp/colinallen.dnsalias.org/lp/lp.html

295 lines
7.1 KiB
HTML
Raw Normal View History

2022-08-02 12:34:59 +02:00
<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Originally converted to HTML using LaTeX2HTML 95 (Thu Jan 19 1995) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE>Lisp Primer</TITLE>
<meta name="description" value="Lisp Primer">
<meta name="keywords" value="lp">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
</HEAD>
<BODY>
<A HREF="node1.html"><IMG ALIGN=BOTTOM ALT="next" SRC="next_motif.gif"></A>
<IMG ALIGN=BOTTOM ALT="up" SRC="up_motif_gr.gif">
<IMG ALIGN=BOTTOM ALT="previous" SRC="previous_motif_gr.gif">
<BR>
<A HREF="lp.html"><B>Contents</B></A>
<B> Next:</B>
<A HREF="node1.html"> Preface</A>
<HR>
<H1>Lisp Primer</H1>
<STRONG><a href="https://colinallen.dnsalias.org/~colallen/">Colin Allen</a> -
<a href="mailto:mdhagat@yahoo.com">Maneesh Dhagat</a>
<P>copyright 1996-2020</STRONG><P>
<P>
<BR> <HR>
<UL>
<LI>
<A HREF="node1.html"> Preface and Terms of Use</A>
<LI>
<A HREF="node2.html"> LISt Processing</A>
<UL>
<LI>
<A HREF="node3.html"> Background and Getting Started</A>
<LI>
<A HREF="node4.html"> Basic Data Types</A>
<UL>
<LI>
<A HREF="node5.html"> Atoms</A>
<LI>
<A HREF="node6.html"> Lists</A>
</UL>
<LI>
<A HREF="node7.html"> Some Primitive Functions</A>
<UL>
<LI>
<A HREF="node8.html"> Constructors: Cons, List, and Append</A>
<LI>
<A HREF="node9.html"> Quote</A>
<LI>
<A HREF="node10.html"> Selectors: First and Rest</A>
</UL>
<LI>
<A HREF="node11.html"> Changing Variable Values</A>
<LI>
<A HREF="node12.html"> More Functions and Predicates</A>
<LI>
<A HREF="node13.html"> Setf</A>
<LI>
<A HREF="node14.html"> Exercises</A>
</UL>
<LI>
<A HREF="node15.html"> Defining Lisp functions</A>
<UL>
<LI>
<A HREF="node16.html"> Defining Functions: Defun</A>
<LI>
<A HREF="node17.html"> Local and Global Variables</A>
<LI>
<A HREF="node18.html"> Using an Editor</A>
<LI>
<A HREF="node19.html"> Using Your Own Definitions in New Functions</A>
<LI>
<A HREF="node20.html"> Functions with Extended Bodies</A>
<LI>
<A HREF="node21.html"> Conditional Control</A>
<UL>
<LI>
<A HREF="node22.html"> If</A>
<LI>
<A HREF="node23.html"> Cond</A>
</UL>
<LI>
<A HREF="node24.html"> More Predicates and Functions</A>
<UL>
<LI>
<A HREF="node25.html"> Equality Predicates</A>
<LI>
<A HREF="node26.html"> Checking for NIL</A>
<LI>
<A HREF="node27.html"> Logical Operators: And and Or</A>
</UL>
<LI>
<A HREF="node28.html"> Exercises</A>
</UL>
<LI>
<A HREF="node29.html"> Recursion and Iteration</A>
<UL>
<LI>
<A HREF="node30.html"> Recursive Definitions</A>
<UL>
<LI>
<A HREF="node31.html"> A Simple Example</A>
<LI>
<A HREF="node32.html"> Using Trace To Watch Recursion</A>
<LI>
<A HREF="node33.html"> Another Example</A>
</UL>
<LI>
<A HREF="node34.html"> Iteration Using Dotimes</A>
<LI>
<A HREF="node35.html"> Local Variables Using Let</A>
<LI>
<A HREF="node36.html"> Iteration Using Dolist</A>
<LI>
<A HREF="node37.html"> When To Use Recursion/When To Use Iteration</A>
<LI>
<A HREF="node38.html"> Tail Recursion</A>
<LI>
<A HREF="node39.html"> Timing Function Calls</A>
<LI>
<A HREF="node40.html"> Exercises</A>
</UL>
<LI>
<A HREF="node41.html"> Programming Techniques</A>
<UL>
<LI>
<A HREF="node42.html"> A Word about Lisp</A>
<LI>
<A HREF="node43.html"> Recursion on Simple Lists</A>
<LI>
<A HREF="node44.html"> Recursion on Nested Lists and Expressions</A>
<LI>
<A HREF="node45.html"> Recursion on Numbers</A>
<LI>
<A HREF="node46.html"> Ensuring Proper Termination</A>
<LI>
<A HREF="node47.html"> Abstraction</A>
<LI>
<A HREF="node48.html"> Summary of Rules</A>
<LI>
<A HREF="node49.html"> Exercises</A>
</UL>
<LI>
<A HREF="node50.html"> Simple Data Structures in Lisp</A>
<UL>
<LI>
<A HREF="node51.html"> Association Lists</A>
<LI>
<A HREF="node52.html"> Property Lists</A>
<LI>
<A HREF="node53.html"> Arrays, Vectors, and Strings</A>
<UL>
<LI>
<A HREF="node54.html"> Arrays and Vectors</A>
<LI>
<A HREF="node55.html"> Strings</A>
</UL>
<LI>
<A HREF="node56.html"> Defstruct</A>
<LI>
<A HREF="node57.html"> Exercises.</A>
</UL>
<LI>
<A HREF="node58.html"> Input and Output</A>
<UL>
<LI>
<A HREF="node59.html"> Basic Printing</A>
<LI>
<A HREF="node60.html"> Nicer Output Using Format</A>
<LI>
<A HREF="node61.html"> Reading</A>
<LI>
<A HREF="node62.html"> Input and Output to Files</A>
<LI>
<A HREF="node63.html"> Converting Strings to Lists</A>
</UL>
<LI>
<A HREF="node64.html"> Functions, Lambda Expressions, and Macros</A>
<UL>
<LI>
<A HREF="node65.html"> Eval</A>
<LI>
<A HREF="node66.html"> Lambda Expressions</A>
<LI>
<A HREF="node67.html"> Funcall</A>
<LI>
<A HREF="node68.html"> Apply</A>
<LI>
<A HREF="node69.html"> Mapcar</A>
<LI>
<A HREF="node70.html"> Backquote and Commas</A>
<LI>
<A HREF="node71.html"> Defmacro</A>
</UL>
<LI>
<A HREF="node72.html"> Appendix: Selected Lisp primitives</A>
<UL>
<LI>
<A HREF="node73.html"> * (FUNCTION)</A>
<LI>
<A HREF="node74.html"> + (FUNCTION)</A>
<LI>
<A HREF="node75.html"> - (FUNCTION)</A>
<LI>
<A HREF="node76.html"> 1+, 1- (FUNCTIONS)</A>
<LI>
<A HREF="node77.html"> = (PREDICATE)</A>
<LI>
<A HREF="node78.html"> &lt;, &gt;, &lt;=, &gt;= (PREDICATES)</A>
<LI>
<A HREF="node79.html"> and (MACRO)</A>
<LI>
<A HREF="node80.html"> append (FUNCTION)</A>
<LI>
<A HREF="node81.html"> apply (FUNCTION)</A>
<LI>
<A HREF="node82.html"> atom (PREDICATE)</A>
<LI>
<A HREF="node83.html"> butlast (FUNCTION)</A>
<LI>
<A HREF="node84.html"> car (FUNCTION)</A>
<LI>
<A HREF="node85.html"> caar, cadr, cdar, cddr, etc. (FUNCTIONS)</A>
<LI>
<A HREF="node86.html"> cdr (FUNCTION)</A>
<LI>
<A HREF="node87.html"> cond (MACRO)</A>
<LI>
<A HREF="node88.html"> cons (FUNCTION)</A>
<LI>
<A HREF="node89.html"> defun (MACRO)</A>
<LI>
<A HREF="node90.html"> do (SPECIAL FORM)</A>
<LI>
<A HREF="node91.html"> documentation (FUNCTION)</A>
<LI>
<A HREF="node92.html"> eql (PREDICATE)</A>
<LI>
<A HREF="node93.html"> eval (FUNCTION)</A>
<LI>
<A HREF="node94.html"> evenp, oddp (PREDICATES)</A>
<LI>
<A HREF="node95.html"> first (FUNCTION)</A>
<LI>
<A HREF="node96.html"> if (SPECIAL FORM)</A>
<LI>
<A HREF="node97.html"> length (FUNCTION)</A>
<LI>
<A HREF="node98.html"> let (SPECIAL FORM)</A>
<LI>
<A HREF="node99.html"> list (FUNCTION)</A>
<LI>
<A HREF="node100.html"> listp (PREDICATE)</A>
<LI>
<A HREF="node101.html"> mapcar (FUNCTION)</A>
<LI>
<A HREF="node102.html"> max, min (FUNCTIONS)</A>
<LI>
<A HREF="node103.html"> member (FUNCTION)</A>
<LI>
<A HREF="node104.html"> not (PREDICATE)</A>
<LI>
<A HREF="node105.html"> nth (FUNCTION)</A>
<LI>
<A HREF="node106.html"> nthcdr (FUNCTION)</A>
<LI>
<A HREF="node107.html"> null (PREDICATE)</A>
<LI>
<A HREF="node108.html"> numberp (PREDICATE)</A>
<LI>
<A HREF="node109.html"> or (MACRO)</A>
<LI>
<A HREF="node110.html"> read (FUNCTION)</A>
<LI>
<A HREF="node111.html"> reverse (FUNCTION)</A>
<LI>
<A HREF="node112.html"> second, third, etc. (FUNCTIONS)</A>
<LI>
<A HREF="node113.html"> setf (MACRO)</A>
<LI>
<A HREF="node114.html"> symbolp (PREDICATE)</A>
<LI>
<A HREF="node115.html"> y-or-n-p, yes-or-no-p (PREDICATES)</A>
</UL>
<LI>
<A HREF="node116.html"> About this document ... </A>
</UL>
<BR> <HR>
<P>
<ADDRESS>
<I>&#169; Colin Allen &amp; Maneesh Dhagat <BR>
Tue Feb 6, 2001</I>
</ADDRESS>
</BODY>