73 lines
4.1 KiB
HTML
73 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>
|