Sather has parameterized classes, object-oriented dispatch, statically-checked strong (contravariant) typing, separate implementation and type inheritance, multiple inheritance, garbage collection, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather programs can be compiled into portable C code and can efficiently link with C object files.

ICSI maintains a stable public class library and a growing body of contributed code including classes for mathematics, data structures, GUI interfaces and compiling; the Sather compiler, written entirely in Sather, is one such contribution. Sather has a very unrestrictive license which allows its use in proprietary projects but encourages contribution to the public library. A language-aware browser allows new users to explore the library with integrated documentation.

There is a separate page for pSather, an extension to Sather for high-performance parallel distributed computation.

Sather programs can be compiled into code that is comparable in speed to (and may even be faster than) equivalent C++ code. Some benchmarks of Sather programs.


Last change: 7/2/96
The Sather Team (sather@icsi.berkeley.edu)