Dylan Design Notes

#9: Punt Slot Descriptors	(Change)

Version 1, March 1993
Copyright (c) 1993-1994, Apple Computer

This design note deletes Dylan's specification of slot descriptors.  
This change removes a feature which is incomplete, which does not 
match our current goals, and which impedes efficient implementation.

-------------------------------------------------------------------

Remove all specification of slot descriptors from the Dylan language 
specification.  This includes removing the class <slot-descriptor>, 
the functions slot-descriptors, add-slot, remove-slot, slot-
descriptor, slot-getter, slot-setter, slot-type, slot-allocation, 
init-value, init-function, init-keyword, and slot-value and its 
setter.  The description of seal on page 94 should be changed to 
remove the reference to slot descriptors.

-------------------------------------------------------------------

Notes:

The Dylan manual includes a partial specification for slot 
descriptors.  The manual says that these operations are "useful for 
inspectors, debuggers, and other system tools, as well as for 
programs which extend the object system."  We feel that these uses 
are not aligned with our current goals for Dylan.  Slot descriptors 
provide a back door to information that programs might intend to 
hide, and they complicate the description of sealing.  In addition, 
having a definition of slot descriptors in the language specification 
unnecessarily restricts implementations.


