Home

vindarel edited this page Mar 31, 2017 · 4 revisions
Clone this wiki locally
Clone in Desktop

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.

Series 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 (KBEmacs) of over 40,000 lines of code.

Series lets you write your program in a functional style without any runtime penalty at all ! (malisper.me)

In case you wondered, Series is in Quicklisp:

(ql:quickload :series)
(in-package :series)