define-structNAME (NAME ...))
define-structform is used to define a new kind of structure. The structure's fields are named by the names in parentheses. After evaluation of a define-struct form, a set of new primitives is available for creation, extraction, and type-like queries:
make-STRUCTNAME: takes a number of arguments equal to the number of fields in the structure, and creates a new instance of this structure.
STRUCTNAME-FIELDNAME: takes an instance of the structure and returns the field named by FIELDNAME.
STRUCTNAME?: takes any value, returns true if the value is an instance of the structure.
STRUCTNAME: an identifier representing the structure kind, but never used directly.
Beginning Student with List Abbreviations Language