All data types in the CLDT subsystem are concrete classes, that is, they are meant to be instantiated and used directly in programs. To avoid constraining implementations, no inheritance hierarchy has been defined for CLDT. However, there is a set of basic messages that all the CLDT data types are assumed to support. Because in all existing implementations this common behavior is implemented in class
Object, it will be referred to as "Object behavior". It is convenient to include a description of Object behavior in this section, even though
Object itself is not a CLDT data type because it is an abstract class.
These tips compare and contrast CLDT with the base classes in the unmodified versions of Smalltalk/V or Objectworks\Smalltalk as shipped by the vendors. Differences between CLDT messages and those supported in Smalltalk/V or
Objectworks\Smalltalk are noted. Many of these differences result from different strategies for error handling and other implementation-dependent features. While CLDT sometimes omits a method that is included in either Smalltalk/V or
Objectworks\Smalltalk, in most cases the omitted method is either rarely used or has a trivial implementation. The preferred Smalltalk programming style is to in-line trivial methods; accordingly we have not cluttered the CLDT class libraries with methods that are seldom or never used.