CMU Artificial Intelligence Repository
SERIES: Common Lisp looping macro package
The benefits of programming in a functional style are well known. In
particular, algorithms that are expressed as compositions of functions
operating on series/vectors/streams of data elements are much easier
to understand and modify than equivalent algorithms expressed as
loops. Unfortunately, many programmers hesitate to use series
expressions. In part, this is due to the fact that series expressions
are typically implemented very inefficiently.
The Common Lisp Series macro package evaluates a wide class of series
expressions very efficiently by transforming them into iterative
loops. When using this class of series expressions, programmers can
obtain the advantages of expressing computations as series expressions
without incurring any run-time overhead.
s-code.lisp, s-test.lisp, s-doc.txt
Version: November 26, 1991
Ports: Symbolics Genera 8, Lucid CL 3.0.2, MACL, LispWorks.
Easily ported to any valid Common Lisp.
Copying: Copyright MIT, with free use, copying, and distribution.
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Bug Reports: See contact.
Mailing List: none
Author(s): Dick Waters
Contact: Dr. Richard C. Waters
Mitsubishi Electric Research Laboratories
Cambridge MA 02139
Authors!Waters, Iteration!Series, Language Constructs,
Lisp!Iteration, SERIES, Sequences, Streams, Vectors
s-doc.txt ; Brief documentation is in the file
s-test.lisp ; Test cases to check the code on a new Lisp
s-code.lisp ; Code for series
Waters R.C., ``Series'', in Common Lisp: the Language, Second
Edition, 923--955, Steele G.L. Jr., Digital Press, Burlington MA, 1990.
Waters R.C., ``Automatic Transformation of Series Expressions into
Loops'', ACM Transactions on Programming Languages and Systems,
13(1):52--98, January 1991.
Last Web update on Mon Feb 13 10:30:07 1995