SCMS Home Page Introduction to the Language Sather Home Page

Sather-1.3 is the version of the interim implementation produced here at Waikato including a fully internationalised Required Library. The language conforms exactly to the specification for Sather 1.1 with the addition of the language defined class BIT which has two values defined - setbit and clearbit.

The Waikato implementation, therefore, attempts to implement the language as originally conceived at ICSI, Berkeley. Apart from the class BOOL, BIT is the only other concrete class in the language (but see the following paragraph), ignoring distributed and concurrent features for the moment (these are currently not altered in any way!).

In order to permit the Sather program to refer to objects in the program environment, the class REFERENCE has been introduced. This replaces the class EXT_OB the use of which is now deprecated.

All immutable concrete classes defined in any library now, therefore, are composed as either deriving from the class constructor AVAL{xxx} , where xxx is either BIT itself or some other immutable concrete class derived from AVAL{BIT} or being some composition of attributes as defined in the language.

Reference classes defined in any library now, therefore, are composed as either deriving from AREF{yyy}, where yyy may be any class, or as being some composition of attributes (possible including an array) as defined in the language.

Tuple constructed classes are forms of multi-component object in which the individual attributes are labelled t1, t2, etc as currently known.

External classes may be of 'C', 'FORTRAN' or the new 'OS' variants. The latter has been introduced in order to cater for environment value objects which are effectively sequences of bits to which an external class provides some structure. In practice this is probably what is intended by the C variant - but not currently done this way.

At least for the time being an external class of the OS variant has components which are guaranteed to be stored in lexical order of definition. Providing that there are no alignment problems then the whole will just be a sequence of bits - now 'interpreted' as a Sather class object.


Comments or enquiries should be made to Keith Hopper .
Page last modified: Tuesday, 16 October 2000.
Produced with Amaya