# Section 7:
Pervasive Classes

This section specifies those classes which form part of the Sather language itself.

1. Abstract Classes
   1. $OB - the abstract class from which all other classes implicitly sub-type.
   2. $REFERENCE - the abstraction of a 'name' or 'handle' provided to a program when running by its execution environment.
   3. $ATTACH - the abstraction of an attachment of some thread of control to an execution engine (eg a computer system).
   4. $LOCK - the abstraction of an object which prevents/permits code to access some object(s) associated with the lock.
2. Immutable Classes
   1. BIT - this class defines the implementation of the binary digit from which all other immutable classes are ultimately composed. Note that the two values of this class (setbit and clearbit) are pervasive language names. See also the Required Library class of the same name.
   2. BOOL - this class defines the implementation of a logic value which is either true or false. Note that the two values of this class (true and false) are pervasive language names. See also the Required Library class of the same name.
   3. AVAL - this class is a constructor class. It should not normally be used independently. It is used in constructing primitive immutable classes (for example the class CARD includes an AVAL{BIT}.
   4. TUP - classes of this name are a form of constructor class. The language specifies that classes of this form may have one or more components, the whole object being handled as an immutable class object.
3. Reference Classes
   1. AREF - this class is a constructor class. It should not normally be used independently. It is used in constructing arrays of any implementation class which may form part or all of some including class.

| Language Index |  | Library Index

Comments or enquiries should be made to Keith Hopper. Page last modified: Tuesday, 24 October 2000. |