Common Lisp the Language, 2nd Edition

Next: Introduction to Structures Up: Common Lisp the Language Previous: String Construction and

# 19. Structures

Common Lisp provides a facility for creating named record structures with named components. In effect, the user can define a new data type; every data structure of that type has components with specified names. Constructor, access, and assignment constructs are automatically defined when the data type is defined.

This chapter is divided into two parts. The first part discusses the basics of the structure facility, which is very simple and allows the user to take advantage of the type-checking, modularity, and convenience of user-defined record data types. The second part, beginning with section 19.5, discusses a number of specialized features of the facility that have advanced applications. These features are completely optional, and you needn't even know they exist in order to take advantage of the basics.

- Introduction to Structures
- How to Use Defstruct
- Using the Automatically Defined Constructor Function
- Defstruct Slot-Options
- Defstruct Options
- By-Position Constructor Functions
- Structures of Explicitly Specified Representational Type
  - Unnamed Structures
  - Named Structures
  - Other Aspects of Explicitly Specified Structures