Previous chapter: #8: Method Dispatch Ambiguity (Clarification)

Dylan Design Notes: #9: Punt Slot Descriptors (Change)

Dylan Design Notes

#9: Punt Slot Descriptors (Change)

Version 1, March 1993

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.


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.

Next chapter: #10: Element-Setter Signals Error (Clarification)