A series is a possibly unbounded sequence of values. Compositions of functions that operate on series are generally briefer and more easily understood than alternative expressions of the same computation, for example, the sum of the squares of the differences of the corresponding elements of two series. Programming with series feels a lot like using APL, except that the series need not be computed before their use, and in fact may be infinite, and the intermediate series results need never be stored and the computation is therefore extremely efficient.
This paper provides some relatively easy to understand conditions under which such expressions can be compiled into extremely efficient loops and describes the Common Lisp implementation. All of the above also appears in the Common Lisp manual [1]. (It is only fair to point out that this paper was submitted long before that manual came out.) Waters also describes a prototype implementation for Pascal, describes how the efficient loop is assembled from the series expression, discusses related work, and attempts to compare series with the facilities available in other languages.