## 6 Standard procedures

This chapter describes Scheme's built-in procedures. The initial (or “top level”) Scheme environment starts out with a number of variables bound to locations containing useful values, most of which are primitive procedures that manipulate data. For example, the variable ‘`abs`’ is bound to (a location initially containing) a procedure of one argument that computes the absolute value of a number, and the variable ‘`+`’ is bound to a procedure that computes sums. Built-in procedures that can easily be written in terms of other built-in procedures are identified as “library procedures”.

A program may use a top-level definition to bind any variable. It may subsequently alter any such binding by an assignment (see see Assignments). These operations do not modify the behavior of Scheme's built-in procedures. Altering any top-level binding that has not been introduced by a definition has an unspecified effect on the behavior of the built-in procedures.