1
0
Fork 0
cl-sites/www.cs.cmu.edu/Groups/AI/html/cltl/clm/node347.html
2023-10-25 11:23:21 +02:00

72 lines
4.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Converted with LaTeX2HTML 0.6.5 (Tue Nov 15 1994) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE>Appendix A. Series</TITLE>
</HEAD>
<BODY>
<meta name="description" value=" Series">
<meta name="keywords" value="clm">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
<P>
<b>Common Lisp the Language, 2nd Edition</b>
<BR> <HR><A NAME=tex2html6024 HREF="node348.html"><IMG ALIGN=BOTTOM ALT="next" SRC="icons/next_motif.gif"></A> <A NAME=tex2html6022 HREF="clm.html"><IMG ALIGN=BOTTOM ALT="up" SRC="icons/up_motif.gif"></A> <A NAME=tex2html6016 HREF="node346.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="icons/previous_motif.gif"></A> <A NAME=tex2html6026 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="icons/contents_motif.gif"></A> <A NAME=tex2html6027 HREF="index.html"><IMG ALIGN=BOTTOM ALT="index" SRC="icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME=tex2html6025 HREF="node348.html"> Introduction</A>
<B>Up:</B> <A NAME=tex2html6023 HREF="clm.html">Common Lisp the Language</A>
<B> Previous:</B> <A NAME=tex2html6017 HREF="node346.html"> Predefined Condition Types</A>
<HR> <P>
<H1><A NAME=SECTION003400000000000000000>Appendix A.<br>Series</A></H1>
By Richard C. Waters
<P>
<img align=bottom alt="change_begin" src="gif/change_begin.gif"><br>
<A NAME=SERIES><TT>PREFACE:</TT></A>
A series is a data structure much like a sequence, with similar
kinds of operations. The difference is that in many situations, operations
on series may be composed functionally and yet execute iteratively, without
the need to construct intermediate series values explicitly. In this
manner, series provide both the clarity of a functional programming style
and the efficiency of an iterative programming style.
<P>
The remainder of this chapter consists of a description by Richard
C. Waters of his work on an existing implementation of series.
This is the culmination of many years of design and use of this approach,
during which some 100,000 lines of application code have been written (by
about half a dozen people over the course of seven years) using the series
facility in nearly all iteration situations. This includes one large
system (<tt>KBEmacs</tt>) of over 40,000 lines of code.
<P>
I have edited the chapter only very lightly to conform to the overall style
of this book. Please see the Preface to this book for more information
about the genesis of the series approach and its relationship to the work
of X3J13.
<P>
<blockquote>
-Guy L. Steele Jr.
</blockquote>
<img align=bottom alt="change_end" src="gif/change_end.gif">
<HR>
<UL>
<LI> <A NAME=tex2html6028 HREF="node348.html#SECTION003410000000000000000"> Introduction</A>
<LI> <A NAME=tex2html6029 HREF="node349.html#SECTION003420000000000000000"> Series Functions</A>
<UL>
<LI> <A NAME=tex2html6030 HREF="node350.html#SECTION003421000000000000000"> Scanners</A>
<LI> <A NAME=tex2html6031 HREF="node351.html#SECTION003422000000000000000"> Mapping</A>
<LI> <A NAME=tex2html6032 HREF="node352.html#SECTION003423000000000000000"> Truncation and Other Simple Transducers</A>
<LI> <A NAME=tex2html6033 HREF="node353.html#SECTION003424000000000000000"> Conditional and Other Complex Transducers</A>
<LI> <A NAME=tex2html6034 HREF="node354.html#SECTION003425000000000000000"> Collectors</A>
<LI> <A NAME=tex2html6035 HREF="node355.html#SECTION003426000000000000000"> Alteration of Series</A>
</UL>
<LI> <A NAME=tex2html6036 HREF="node356.html#SECTION003430000000000000000"> Optimization</A>
<UL>
<LI> <A NAME=tex2html6037 HREF="node357.html#SECTION003431000000000000000"> Basic Restrictions</A>
<LI> <A NAME=tex2html6038 HREF="node358.html#SECTION003432000000000000000"> Constraint Cycles</A>
<LI> <A NAME=tex2html6039 HREF="node359.html#SECTION003433000000000000000"> Defining New Series Functions</A>
<LI> <A NAME=tex2html6040 HREF="node360.html#SECTION003434000000000000000"> Declarations</A>
</UL>
<LI> <A NAME=tex2html6041 HREF="node361.html#SECTION003440000000000000000"> Primitives</A>
</UL>
<HR>
<P><ADDRESS>
AI.Repository@cs.cmu.edu
</ADDRESS>
</BODY>