Originally, it was based on Eiffel, but it has diverged, and now includes several functional programming features.
Sather also takes inspiration from other programming languages and paradigms: iterators, design by contract, abstract classes, multiple inheritance, anonymous functions, operator overloading, contravariant type system.
The original Berkeley implementation (last stable version 1.1 was released in 1995, no longer maintained[2]) has been adopted by the Free Software Foundation therefore becoming GNU Sather.
There were several other variants: Sather-K from the University of Karlsruhe;[4][5] Sather-W from the University of Waikato[6] (implementation of Sather version 1.3); Peter Naulls' port of ICSI Sather 1.1 to RISC OS;[7] and pSather,[8][9] a parallel version of ICSI Sather addressing non-uniform memory access multiprocessor architectures but presenting a shared memory model to the programmer.
is a method of the INT class accepting one once argument, meaning its value won't change as the iterator yields.