|
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.
|
|