Common Lisp Structures

A structure is an advanced datatype available in Common Lisp. Structures and their properties can be a useful way to represent data in your code.

Working with Structures

Structures can be used to represent objects with properties, as you might find in a typical object-oriented programming (OOP) language using the defstruct command, like so:

> (defstruct person
             name
             age
             waist-size
             favorite-color)
PERSON

According to the definition in this structure, a person has four properties (also called slots by Lispers): name, age, waist-size, and favorite-color.

Having defined this structure, we can create instances of a person using the make-person command, a special function that defstruct has automatically created for us:

> (defparameter ...

Get Land of Lisp now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.