Copyright (C) 2000-2012 |
GNU Info (cl)Generalized VariablesGeneralized Variables ===================== A "generalized variable" or "place form" is one of the many places in Lisp memory where values can be stored. The simplest place form is a regular Lisp variable. But the cars and cdrs of lists, elements of arrays, properties of symbols, and many other locations are also places where Lisp values are stored. The `setf' form is like `setq', except that it accepts arbitrary place forms on the left side rather than just symbols. For example, `(setf (car a) b)' sets the car of `a' to `b', doing the same operation as `(setcar a b)' but without having to remember two separate functions for setting and accessing every type of place. Generalized variables are analogous to "lvalues" in the C language, where `x = a[i]' gets an element from an array and `a[i] = x' stores an element using the same notation. Just as certain forms like `a[i]' can be lvalues in C, there is a set of forms that can be generalized variables in Lisp.
automatically generated by info2www version 1.2.2.9 |