Issues in the Design and Documentation of Class Libraries
Abstract
The design and specification of an extensible class library presents a difficult challenge:because extensibility comes from allowing the user to override parts of the implementation, more of the internal structure must be exposed to the user than in a typical procedure library.This raises issues in both how the library is designed and how its specification is written.Specification of the CLOS Metaobject Protocol required a combination of new and existing techniques to address these issues.We present those techniques, and discuss their relation to the underlying issues."This CLOS-like syntax indicates that draw is a one argument generic function; that the argument is called button; and that this method is specialized to the class text-button.