|   | Section 8.1:Basic Classes
 |  | 
  
This section of the required library contains definitions of those
abstractions and classes which are "basic" to the whole organisation
of the library.  The term does not, however, refer to basic in
relation to the language classes themselves (see the  Sather Language specification for further
details.
  - Abstract Classes :- - 
      - $NIL - the abstract notion of a 'nil' value
        for a class.
- $IS_NIL - the abstract notion of a test
        whether any particular value is 'nil'.
- $IS_EQ - the abstract notion of an
        equality test.
- $IS_LT - the abstract notion of an
        ordering test between class values.
- $HASH - the abstract notion of a hash
        value derived from the value of some object.
- $STR - the abstract notion of a textual
        rendering of a value of the class sub-typing from this
      abstraction.
- $INSTR - the abstract notion of a class
        for which conversion both to text and from text is possible.
- $IMMUTABLE - the abstract notion of a
        class for which both text/value conversion and octet-stream/value
        conversion in both directions is possible.
- $COPY - the abstract notion of a copy
        operation.
- $VAR - the abstract notion of a reference
        variable with immutable semantics.
- $ELT - the abstract notion of an element of
        a container.
- $PORT - the abstract notion of a computer
        system port through which data may be exchanged with external devices.
        
      
 
- Reference Classes :- - 
      - ELT_NIL{T} - this class provides a nil
        value for an object of the argument type - which may not be
        an abstract type. It shall be an implementation of the
        $ELT_NIL{ETP} abstraction.
- ELT_EQ{T} - this class provides equality
        comparison for elements of the argument class, should the class not
        provide a specific equality test.
- ELT_LT{T} - this class provides  a 'less
        than' comparison facility for objects of the argument class if no
        specific one is implemented.
- ELT_HASH{T} - this class provides the
        hash value of the element of the argument class.  This is of use when
        defining container classes.
- CAST{T} - this class permits explicit
        narrowing from the general abstract class $OB to the class
        argument class.
 
  
    
      | Comments
        or enquiries should be made to Keith Hopper. Page last modified: 
        Monday, 26 February 2001.
 |   |