quiroz@cs.rochester.edu (Cesar Quiroz) (09/07/89)
James Aspnes noticed the incompatibility introduced by checking the structure tag before doing an access or alteration, and has suggested to remove the tag checking to permit sharing of common slots. This is admittedly the right thing with respect to slots shared via :include. CLtL gives the choice of NOT performing any checking in this case, but then it seems this would go unreported: (defstruct complex real imag) (defstruct date day month year) (complex-imag (make-date)) ... This would also make accesses and mutations (via setf) faster... The alternative to no tag checking is to make sure that every time we define structs someone is keeping track of the inclusions, so that a runtime check can decide if a slot borrowing is valid or not (ug, more checks at runtime). SO, I would like to ask you people if there is a consensus as to what would be more useful. If you use defstructs (or plan to, etc...), please take a moment to consider which behavior is more useful and mail your opinion to me. Same goes in case you figure out a third option that doesn't break anything else and still fixes this. Thanks, -- Cesar Augusto Quiroz Gonzalez Department of Computer Science University of Rochester Rochester, NY 14627