2.6 Structures

2.6.1 Redefining a defstruct structure

ANSI Common-Lisp says that consequences of redefining a defstruct are undefined. ECL defines this behavior to signal an error if the new structure is not compatible. Structures are incompatible when:

They have a different number of slots

This is particularly important for other structures which could have included the current one and for already defined instances.

Slot name, type or offset is different

Binary compatibility between old and new instances.

2.6.2 C Reference

2.6.2.1 ANSI Dictionary

Common Lisp and C equivalence

Lisp symbolC function
copy-structurecl_object cl_copy_structure(cl_object structure)