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.