In August 2004, Eric Smith, under the direction of Dave Greve, created
this directory. The history is more complicated, but Eric essentially
copied structure.lisp from books/data-structures and to this directory
(and called it defstructure.lisp) and made some changes to it.  The
goal was to redefine defstructure to use records (essentially maps,
from books/misc/records) instead of just making a list of their
fields.

Eric tried to modify only those behaviors of defstructure which we use
in the AAMP7 separation proof.  Thus, some features of defstructure
may be broken after the change.  It might be nice to someday update
defstruture so that all of its many features work with records.

The file defstructure.lisp in this directory now includes the
defstructure+ macro as well (previously, it was in gacc).

To see what changes Eric made, you can compare defstructure.lisp in
this directory to books/data-structures/structures.lisp.
