[Abstract] [Copyright Notice] [Contents]

# Sather - A Language Manual - Footnotes

## 1

S. Burson, "The Nightmare of C++", Advanced Systems November 1994, pp. 57-62. Excerpted from The UNIX-Hater's Handbook, IDG Books, San Mateo, CA, 1994.

## 2

C. Szyperski, S. Omohundro, S. Murer. "Engineering a programming language: The type and class system of Sather," In Jurg Gutknecht, ed., Programming Languages and System Architectures, p. 208-227. Springer Verlag, Lecture Notes in Computer Science 782, November 1993. Available at the Sather WWW page.

## 3

S. Murer, S. Omohundro, D. Stoutamire, C. Szyperski, "Iteration abstraction in Sather", Transactions on Programming Languages and Systems, Vol. 18, No. 1, Jan 1996 p. 1-15. Available at the Sather WWW page.

## 4

G. Agha, "Actors: A Model of Concurrent Computation in Distributed Systems", The MIT Press, Cambridge, Massachusetts, 1986.

## 5

C. Lim, A. Stolcke. "Sather language design and performance evaluation." TR-91-034, International Computer Science Institute, May 1991. Also available at the Sather WWW page.

## 6

C. Lim. "A Parallel Object-Oriented System for Realizing Reusable and Efficient Data Abstractions," PhD thesis, University of California at Berkeley, October 1993. Available at the Sather WWW page.

## 7

S. Omohundro. "The Sather programming language." Dr. Dobb's Journal, 18 (11) pp. 42-48, October 1993. Available at the Sather WWW page.

## 8

This is only true for reference, immutable and some kinds of external classes. Abstract a, partial and most external classes cannot have instances.

## 9

The void test returns true for all integers with a value of 0 and booleans with a value of false. In general, the void test is not useful for immutable classes.

## 10

Implementation Note: The compiler currently does not always detect this illegal case.

## 11

We use the term 'method' here to indicate that the same description is applicable to both iterators, which have not yet been introduced, and routines.

## 12

Frequently called the contravariant conformance rule to distinguish it from the more restrictive C++ rule of invariance and the unsafe Eiffel rule (of covariance in the argument types). Hence, the co- vs. contra variance debate just refers to the behavior of the argument types.

## 13

Efficiency in converting to FORTRAN was more important for mathematical entitites which will be used with existing mathematical libraries such as BLAS and LAPACK, most of which are in FORTRAN.

## 14

Earlier versions of Sather 1.0 defined separate routines for each of these operators.

## 15

In fact, you can look at the tail half of the protect as a typecase on the exception object.

## 16

The current Sather 1.1 implementation disallows returning Fortran strings of size greater than 32 bytes. This restriction may be lifted in the future releases.

## 17

The ICSI Sather 1.1 compiler currently does not implement this functionality.

## 18

The other built-in basic types are defined as arrays of BOOL and all have their values set to void by this rule.

[Abstract] [Copyright Notice] [Contents]

Sather - A Language Manual