Being a flavor of Lisp (LISt Processing), Scheme contains lists as a low-level feature of the language. Unfortunately, the standard set of tools for handling lists is relatively minimal. Consequently, scheme programmers are well advised to become familiar with SRFI 1.
Lists are ordered collections of values. They may contain any data type, and are extremely cheap to extend by adding new elements. However, their very nature makes traversing the list have a cost proportional to the number of elements in the list. As the list grows, the cost to access an element takes more time.
Lists are created using either the constructor list, or the list syntax:
500 Can't connect to 127.0.0.1:8778 (connect: Connection refused)
Lists can also be constructed using the ancient Lisp primitive cons, and can be broken apart using the car and cdr functions.
500 Can't connect to 127.0.0.1:8778 (connect: Connection refused)
This section provide a variety of recipes for efficient list handling.