• Your Trusted Usenet Provider
  • Secure, Private, Unlimited

Newsgroups Main » Newsgroups Directory » Computers - Non-OS » Programming and languages

Sather ( comp.lang.sather )
 
From [email protected] Tue Apr 20 14:45:18 1993
Path: uunet!bounce-back
From: [email protected] (Martina-Maria Seidel)
Newsgroups: news.announce.newgroups,news.groups,comp.object,comp.lang.eiffel,comp.lang.c++,comp.lang.oberon
Subject: RFD: comp.lang.sather
Followup-To: news.groups
Date: 20 Apr 1993 09:51:37 -0400
Organization: International Computer Science Institute, Berkeley, CA, U.S.A.
Lines: 413
Sender: [email protected]
Approved: [email protected]
Message-ID: <[email protected]>
NNTP-Posting-Host: rodan.uu.net
Xref: uunet news.announce.newgroups:3477 news.groups:70197 comp.object:10519 comp.lang.eiffel:3626 comp.lang.c++:41713 comp.lang.oberon:113

This note is a request for discussion on the creation of a new
newsgroup to be named:

                       comp.lang.sather

It's purpose will be to act as a forum for discussion of the
object-oriented computer language Sather. These discussions currently
take place on the mailing list "[email protected]" which has
about 300 participants from countries all over the world. The Sather
compiler, debugger, programming environment, documentation and class
library are freely available by anonymous FTP. The initial version 0.2
of the compiler was released almost two years ago and an active user
community has been established.  Based on experience with that
version, Sather 1.0 has been specified and work is currently underway
on a combination interpreter/debugger/compiler and a new much larger
class library.  Again these will be freely available by anonymous FTP.
With the first "official" release of the Sather language, we
anticipate a much larger user community and therefore feel that the
time is appropriate to move from mailing-list based discussions to a
newsgroup. The Sather FAQ is appended to the end of this message to
provide further information about the language.

As per the rules for new newsgroup formation, discussion on the
desirability of a Sather newsgroup will take place in the group:

                  news.group

We ask everyone who is interested in Sather to participate in these
discussions. After 30 days of open discussion a vote on the formation
of the group will be taken. Participants will be asked to send
messages explicitly stating either:

1) YES, I vote for the formation of the comp.lang.sather newsgroup.

or

2) NO, I vote against the formation of the comp.lang.sather newsgroup.

The formation of a new newsgroup requires at least 100 more valid YES
votes than NO votes and at least 2/3 of the valid votes must be in
favour for creation.

Thank you for your participation,
 
- Martina-Maria Seidel
  Heinz Schmidt
  Steve Omohundro
  Chu-Cheow Lim
  ([email protected])

[email protected]-------------

The following is a Sather FAQ; thanks to all who contributed.  This
will be sent out once every few months.  If you have suggestions for
the inclusion of other useful information, please send email to
[email protected]

                    .___________________________________.
                    |                                   |\
                    | SATHER FREQUENTLY ASKED QUESTIONS |\
                    |___________________________________|\
                     \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Q 1: What is Sather?
Q 2: Is Sather a subset or superset of Eiffel?
Q 3: Where does the name "Sather" come from? How do I pronounce it?
Q 4: What does the "Hello World" program look like?
Q 5: Where can I get a description of Sather?
Q 6: Where can I get other information on Sather?
Q 7: Are there public domain implementations of Sather?
Q 8: What is the size of the package?
Q 9: Where can I get the latest implementation?
Q10: The distribution emacs directory is empty. Where is the Emacs support? 
Q11: What is the future of Sather?
Q12: What does the Eiffel community think about Sather?
Q13: Is there a way to reduce recompiles further than "-fast"?
Q14: Is the quality of Sather sufficiently useful for real world products?
Q15: I want to use sdb on a ... workstation. What can I do?
------------------------------------------------------------------------------

Q 1: What is Sather?
     ~~~~~~~~~~~~~~
Sather is an object oriented language which aims to be simple,
efficient, interactive, safe, and non-proprietary. It aims to meet the
needs of modern research groups and to foster the development of a
large, freely available, high-quality library of efficient
well-written classes for a wide variety of computational tasks. It was
originally based on Eiffel but now incorporates ideas and approaches
>from several languages. One way of placing it in the "space of
languages" is to say that it attempts to be as efficient as C, C++, or
Fortran, as elegant and safe as Eiffel or CLU, and to support
interactive programming and higher-order functions as well as Common
Lisp, Scheme, or Smalltalk.

Sather has garbage collection, statically-checked strong typing,
multiple inheritance, separate implementation and type inheritance,
parameterized classes, dynamic dispatch, iteration abstraction,
higher-order routines and iters, exception handling, constructors for
arbitrary data structures, and assertions, preconditions,
postconditions, and class invariants. The development environment
integrates an interpreter, a debugger, and a compiler. Sather code can
be compiled into C code and can efficiently link with C object files.

Sather has a very unrestrictive license aimed at encouraging
contribution to the public library without precluding the use of
Sather for proprietary projects.


Q 2: Is Sather a subset or superset of Eiffel?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Neither. Valid Eiffel programs are not Sather programs, nor vice
versa. Sather 0.2 was closer to being a subset of Eiffel 2.0 but even
then introduced several distinct constructs primarily to improve
computational efficiency. Eiffel 3.0 has expanded significantly in a
different direction. Sather 1.0 has introduced several new constructs
(eg. iteration abstraction, higher order routines, object
constructors, static type safety) which makes the two languages quite
distinct now.

Q 3: Where does the name ``Sather'' come from? How do I pronounce it?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Sather language gets its name from the Sather Tower (popularly
known as the Campanile), the best-known landmark of the University of
California at Berkeley.  A symbol of the city and the University, it
is the Berkeley equivalent of the Golden Gate bridge.  Erected in
1914, the tower is modeled after St. Mark's Campanile in Venice,
Italy. It is smaller and a bit younger than the Eiffel tower, and
closer to most Americans -- and lovers of Venice of course.  Yet, at
307 feet it houses 50 tons of human, dinosaur and other animal bones
mostly collected from the La Brea Tar Pits.  Unseen by most visitors
the collection covers six floors of the tower. The way most people say
the name of the language rhymes with "bather".


Q 4: What does the ``Hello World'' program look like?
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class HELLO is
   main is OUT::s("Hello World!").nl end
end

Q 5: Where can I get a description of Sather?
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   The Sather language definition is available via ftp from
/pub/sather at ftp.ICSI.Berkeley.EDU. See the file README for more
details.

   S.  Omohundro: "The Sather Language" contains the definition of the
currently available implementation.

   S.  Omohundro: "The Sather 1.0 Specification" contains the
definition of the revised Sather language. The 1.0 implementation is
not yet available. The table of contents of the 1.0 spec is:

Introduction
Types and Classes
     Class definition lists, Class definitions, Type specifiers, 
     Parameter constraints and defaults
Features
     `inherit' clauses, `undefine' clauses, `private' clauses, 
     Constant attribute definitions, Shared attribute definitions, 
     Object attribute definitions, Routine definitions, Iter definitions
Statements
     Declaration statements, Simple assignment statements, Tuple 
     assignment statements, `if' statements, `loop' statements, 
     `return' statements, `yield' statements, `case' statements,
     `typecase' statements, `assert' statements, `protect' 
     statements, `raise' statements, Expression statements
Expressions
     Local access expressions, Routine and iter call expressions,
     Caret call expressions, `void' expressions,
     Value and reference object constructor expressions,
     Bound routine and iter constructor expressions,
     Syntactic sugar expressions, `and' expressions, `or' expressions,
     `not' expressions, `=' expressions, `initial' expressions
Lexical Structure
     Boolean literal expressions, Character literal expressions,
     String literal expressions,  Integer literal expressions,
     Floating point literal expressions
Special features
     `type', `id', `copy', `invalidate',  `str', `while', `until',
     `break', `main'
Built-in classes
Interfacing with other languages


Q 6: Where can I get other information on Sather?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   There is a Sather mailing list maintained at the International
Computer Science Institute (ICSI).  To be added to or deleted from the
Sather list, send a message to

		      [email protected]

   If you have problems with Sather or related questions that are not
of general interest to the "sather" list, mail to

		       [email protected]

This is also where you want to send bug reports and suggestions for
improvements.  The archives of the Sather mailing list are available
via anonymous ftp from pub/sather at ftp.ICSI.Berkeley.EDU.

   This archive also contains Sather-related technical reports and
papers in the subdirectory "paper".  See the README files for more
details. Besides the language definitions listed above, you can
retrieve, for instance:

license.txt:  The Sather library general public license describing
	      restrictions on using Sather library classes.

TR91034.ps.Z: "Sather Language Design and Performance Evaluation",
	      by Chu-Cheow Lim and Andreas Stolcke.

TR91047.ps.Z: "CLOS, Eiffel and Sather: A comparison",
	      by Heinz W. Schmidt and Stephen M. Omohundro.


Q 7: Are there public domain implementations of Sather?
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   There are two implementations available for free.  Both share a
rich set of library classes and a powerful Emacs/Epoch programming
environment, but differ in the compiler and runtime system.  One is by
the International Computer Science Institute, Berkeley, with additions
and ports by the Division of Information Technology, Canberra, of the
Australian CSIRO, and one by the University of Karlsruhe, Germany.
Both are in the public domain.

Karlsruhe Sather supports:

     * SPARC   SPARCstation running SunOS 4.1

It includes the `typecase' construct of Sather 1.0. Its runtime system
implements dispatching more efficiently, and supports hardware and
operating system exceptions via the Sather 0.2 exception handling
mechanism. Moreover its closed compilation approach eliminates all
unused features and leads to more compact executables.

ICSI Sather supports:

     * DS5000  Ultrix 4.2
     * HP300   HP 9000/300 running HP-UX 8.0
     * HPPA    HP 700/800 running HP-UX 8.0
     * MIPS    RC6280/RC3230
     * NeXT    Release 2.1
     * SCO     SYSV R3.2
     * Sequent Symmetry DYNIX(R) V3.0
     * Sony    NEWS 3000
     * SPARC   SunOS 4.1
     * SUN386  Sun 386i  running SunOS 4.0

Other Ports known to [email protected]:

     * IBM RS6000 AIX 3.1
     * SGI Iris Irix 4.0       
     * SGI R4000 IRIX 4.0
     * MEIKO Multiprocessor INMOS T800, INTEL I860 computing surface

   The current version, 0.2, implements a beta release of the
language, that helped determine the best features of the upcoming
Sather 1.0.  The main changes and additions in Sather 1.0 are:

     * type-safety
     * invariants
     * separation of inheritance and subtyping
     * value, function, and iterator types
     * overloading

   The Sather distribution includes a user manual, compiler, debugger,
runtime library, applications libraries and an Emacs-based class
browser, documenter, syntax-oriented editing and source-level
debugging interface.

   The compiler generates C as an intermediate language, and should be
fairly easy to port.  Except for the very lowest levels of the runtime
system and debugger interface (based on GNU gdb), the entire system is
written in Sather.


Q 8: What is the size of the package?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The tar.Z file is 4+ Mbytes, and when the system is installed it
requires 20+ Mbytes including libraries.


Q 9: Where can I get the latest implementation?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Version 0.2i is the latest ICSI release available via ftp from

     * 128.32.201.55  USA     /pub/sather       ftp.ICSI.Berkeley.EDU
     * 129.26.8.90    EUROPE  /pub/Sather       ftp.gmd.DE
     * 133.137.4.3    JAPAN   /pub/lang/sather  sra.CO.JP
     * 192.41.146.1   AUS     /pub/sather       lynx.csis.dit.CSIRO.AU

   Here is a typical dialog (omitting some of the response):

   > mkdir sather
   > cd sather
   > ftp ftp.icsi.berkeley.edu
   Connected to icsia.ICSI.Berkeley.EDU.
   Name (ftp.icsi.berkeley.edu:clinton): ftp
   331 Guest login ok, send e-mail address as password.
   Password:
   230 Guest login ok, access restrictions apply.
   ftp> cd pub/sather
   250 CWD command successful.
   ftp> bin
   200 Type set to I.
   ftp> get sa-0.2i.tar.Z
   ftp> bye
   > uncompress sa-0.2i.tar.Z
   > tar xvf sa-0.2i.tar
   > less README
   > less doc/INSTALL
   > less doc/STARTING


Q10: The distribution emacs directory is empty. Where is the Emacs support? 
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The Emacs support is now unbundled because it requires adaptations
to new Emacs or Epoch releases at rates independent of the ongoing
Sather development.  The latest version can be found in the directory
contrib/Elisp.tar.Z on the distribution hosts.


Q11: What is the future of Sather?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Besides the Sather 1 project at ICSI, several groups are developing
Sather for teaching, research, and development, in different
application areas.

   Karlsruhe Sather (Sather-K) is a sub-language for introductory
courses on object-oriented design and type-safe programming.  It
stresses the orthogonal integration of a minimal set of
object-oriented mechanisms.  Sather research projects are being
conducted in the traditionally strong field of Karlsruhe CS: compiler
construction.  (Contact: [email protected])

   Parallel Sather (pSather) is a stable parallel version of the
language, developed and in use at ICSI.  pSather addresses virtually
shared, non-uniform-memory-access multiprocessor architectures.  It
adds threads, synchronization, data distribution, and locality.
Multiple threads can execute in one object.  A distinguished class
MONITOR combines various dependent low-level synchronization
mechanisms efficiently: locks, futures, and conditions.
Implementations include CM-5, Sequent Symmetry, and Sparcs.  (Contact:
[email protected])
   Reports and papers on pSather may be obtained by anonymous ftp from
/pub/sather/psather.papers at ftp.ICSI.Berkeley.EDU.

   Data-parallel Sather (dpSather) is a recent experiment for studying
fine-grain deterministic parallelism at the Australian CSIRO and the
Australian National University, Canberra.  Shaped collections, in the
sense of the Paralation model, are classes encapsulating locality,
data mapping and redistribution.  Parallelism is limited to be
interference free.  Implementations are under development for MasPar
and Fujitsu AP1000.  (Contact: [email protected])
   Reports and papers on dpSather may be obtained by anonymous ftp
>from /pub/sather/dpsather.papers at lynx.csis.dit.CSIRO.AU.


Q12: What does the Eiffel community think about Sather?
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The following extract is taken from a recent Eiffel FAQ:

"Sather is a new language patterned after Eiffel, but emphasizing
efficiency and programmer convenience over software correctness,
reusability, and maintenance.

"Sather simplifies some Eiffel constructs, eliminates others and adds
some of its own such as built-in arrays and programmer specified
dynamic dispatching.  It compiles quickly and produces smaller
executables than Eiffel 2.3.4.  The Sather environment includes an
Emacs editing environment, a debugger, and several hundred library
classes.

"The 1.0 release of Sather is now imminent. It adds many new features
that should prove attractive to creators of advanced mathematical
based software.  Sather 1.0 is no longer simpler than Eiffel.  In
fact, the best way to think of Sather is as Eiffel for PhD's.  Sather
is still very efficient, especially for a portable, non-commercial
language."


Q13: Is there a way to reduce recompiles further than "-fast"?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   You can control the granularity of incremental compilation by the
classes you put in one file. The major fraction of compilation time is
spent in the C compilation.  Incremental compilation only keeps track
of file time-stamps.  For correctness, the compiler is conservative in
deciding what to recompile.  The -fast compilation option avoids
overwriting target C files that have not changed from one compilation
to the next, even though sources may have changed.  "make" takes care
of further target dependencies from there.


Q14: Is the quality of Sather sufficiently useful for real world products?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The tools in the system including compiler, debugger and Emacs
support have been quite stable since the first release in mid 1991.
At ICSI, we have developed several moderate-sized programs, including
connectionist simulators.  It has also been used in class teaching.
Your needs may or may not be the same though.


Q15: I want to use sdb on a ... workstation. What can I do?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The Sather debugger, sdb, is based on GNU gdb 3.6.  The
distribution contains only the SPARC version.  If you have gdb for a
different architecture, it should be easy to get sdb running, too.
Gdb has a few machine dependent files.  Sdb does not directly depend
on these files.  You want to replace these files using the respective
gdb 3.6 files for your architecture.

From [email protected] Thu May 20 09:55:05 1993
Path: uunet!bounce-back
From: [email protected] (Martina-Maria Seidel)
Newsgroups: news.announce.newgroups,news.groups,comp.object,comp.lang.eiffel,comp.lang.c++,comp.lang.oberon
Subject: CFV: comp.lang.sather
Followup-To: poster
Date: 19 May 1993 13:27:16 -0400
Organization: International Computer Science Institute, Berkeley, CA, U.S.A.
Lines: 400
Sender: [email protected]
Approved: [email protected]
Message-ID: <[email protected]>
Reply-To: [email protected]
NNTP-Posting-Host: rodan.uu.net
Xref: uunet news.announce.newgroups:3601 news.groups:72229 comp.object:11028 comp.lang.eiffel:3755 comp.lang.c++:43778 comp.lang.oberon:336

                   CALL  FOR   VOTES  ON 

                     comp.lang.sather
                     ----------------

As per the rules for forming new newsgroups, following the last month
of discussion, this is the official call for votes on the formation of
"comp.lang.sather".

It's purpose will be to act as an unmoderated forum for discussion of
the object-oriented computer language Sather. These discussions
currently take place on the mailing list "[email protected]"
which has about 300 participants from countries all over the world.
The Sather compiler, debugger, programming environment, documentation
and class library are freely available by anonymous FTP. The initial
version 0.2 of the compiler was released almost two years ago and an
active user community has been established.  Based on experience with
that version, Sather 1.0 has been specified and work is currently
underway on a combination interpreter/debugger/compiler and a new much
larger class library.  Again these will be freely available by
anonymous FTP.  With the first "official" release of the Sather
language, we anticipate a much larger user community and therefore
feel that the time is appropriate to move from mailing-list based
discussions to a newsgroup. The Sather FAQ is appended to the end of
this message to provide further information about the language.

Voting period: from when this message appears in
news.announce.newgroups through 16 June, 23:59 UTC.

Please mail votes to:  [email protected]   !!!!!!!!!!!!
       ----            -----------------------------

Please choose exactly one of the following two replies:
              -----------     
++++++++++++++++++++++++++++++++++++++++++++++++++++++++

YES, I vote FOR the formation of comp.lang.sather. 

                 or

NO, I vote AGAINST the formation of comp.lang.sather.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Other comments which do not state the voter's opinion clearly or which
are not mailed correctly during the voting period to the mailing
address mentioned above, WILL NOT COUNT !!! Sorry!

Thank you for your reply.

Martina-Maria Seidel

------------------------------------------------------------------


To whom it may concern here some information on SATHER:

                    .___________________________________.
                    |                                   |\
                    | SATHER FREQUENTLY ASKED QUESTIONS |\
                    |___________________________________|\
                     \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  
 If  you are  viewing  this text  using  Emacs,  you  can  type "M-1 C-x $"  to
 suppress the indented text  and get an overview of the questions  only.  Then,
"C-x $" displays the full text again.
   

Q 1: What is Sather?
     ~~~~~~~~~~~~~~
     The goal of Sather is to be as simple and safe an object-oriented language
  as  it can be, whilst meeting the  needs  of modern scientists, engineers and
  programmers.  Sather  is  derived from Eiffel and looks familiar, but instead
  of  exploring  new avenues,  we  studied the proven  ways of other languages:
  Eiffel, CLU, Modula-3, C++ and Fortran.
  
     From Eiffel, Sather inherits and  improves clean  object-oriented software
  construction.    "Design-by-contract"   is   at   the   heart   of   Sather's
  class-oriented program reuse and recombination in-the-large.
  
     From CLU, Sather obtains abstraction and encapsulation: abstract types and
  iterators, which keep  the  secrets  of  efficient internal  traversals, form
  Sather's  data  and  control  abstractions.
  
     From Modula-3,  Sather  inherits type-safe value semantics.   Value  types
  support  structural  subtyping,  and  typecase  replaces the earlier  reverse
  assignment --  making Sather type-safe.  Sather's functional view of advanced
  imperative mechanisms is also characterized by exceptions as values to catch,
  and threads as values to report on completion (in the parallel version).
  
     From C++  and Fortran,  Sather  borrows  efficient  and concise notations.
  Fortran's fast  arrays and  scientific formulas, and  C++' efficient pointers
  and versatile operators mark Sather's imperative programming in-the-small.
  
     The Sather syntax resembles Eiffel, but it is simpler and more orthogonal,
  and  perhaps  more  powerful  in   expression.   For   semantic   simplicity,
  particularly regarding the parallel extensions, some Eiffel features were cut
  down  and  others eliminated.  To balance the  data and function orientation,
  functions  and  iterators  are  first-class values  and the  type  system and
  semantics were cleaned up accordingly.
  
     Sather has  a very unrestrictive license aimed at encouraging contribution
  to  the public library without  precluding the use of  Sather for proprietary
  projects.
  
  
Q 2: Is Sather a subset or superset of Eiffel?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     Neither. Valid  Eiffel programs  are  not Sather programs, nor vice versa.
  The included features had to be balanced  without  giving up simplicity. This
  required  some changes  in  the Eiffel  syntax  even  in  portions  that  are
  semantically similar.
  
  
Q 3: Where does the name ``Sather'' come from? How do I pronounce it?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     The Sather language gets its name from the Sather Tower (popularly known as
  the  Campanile),  the  best-known landmark of the  University of California at
  Berkeley.  A symbol  of  the  city  and the  University,  it  is the  Berkeley
  equivalent of the Golden Gate bridge.  Erected  in 1914, the tower is  modeled
  after St. Mark's Campanile  in Venice, Italy. It is smaller  and a bit younger
  than the Eiffel tower, and closer to most Americans -- and lovers of Venice of
  course.  Yet, at 307 feet  it houses 50  tons  of  human,  dinosaur and  other
  animal  bones mostly collected  from the La Brea  Tar  Pits.  Unseen  by  most
  visitors the collection covers six floors of the tower.
  
     "Sather" rhymes with "bather".
  
  
Q 4: What does the ``Hello World'' program look like?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  class HELLO is
     main is OUT::s("Hello World!").nl end
  end
  
  
Q 5: Where can I get a description of Sather?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     The  Sather language  definition is  available via ftp from /pub/sather at
  ftp.ICSI.Berkeley.EDU. See the file README for more details.
  
     S.  Omohundro:  "The Sather  Language"  contains  the  definition  of  the
  currently available implementation.
  
     S.  Omohundro: "The Sather 1.0 Specification" contains  the definition  of
  the  revised  Sather  language,  which is  not yet  released into the  public
  domain. Here is the table of contents:
  
  Introduction
  Types and Classes
       Class definition lists, Class definitions, Type specifiers, 
       Parameter constraints and defaults
  Features
       `inherit' clauses, `undefine' clauses, `private' clauses, 
       `invariant' clauses, Constant attribute definitions,
       Shared attribute definitions, Object attribute definitions,
       Routine definitions, Iter definitions
  Statements
       Declaration statements, Simple assignment statements, Tuple 
       assignment statements, `if' statements, `loop' statements, 
       `return' statements, `yield' statements, `case' statements,
       `typecase' statements, `assert' statements, `protect' 
       statements, `raise' statements, Expression statements
  Expressions
       Local access expressions, Routine and iter call expressions,
       Caret call expressions, `void' expressions,
       Value and reference object constructor expressions,
       Bound routine and iter constructor expressions
  Syntactic sugar expressions
       `and' expressions, `or' expressions, `not' expressions,
       `=' expressions, `initial' expressions
  Lexical Structure
       Boolean literal expressions, Character literal expressions,
       String literal expressions,  Integer literal expressions,
       Floating point literal expressions
  Special features
       `type', `id', `copy', `invalidate',  `str', `while', `until',
       `break', `main'
  Built-in classes
  Interfacing with other languages
  
  
Q 6: Where can I get other information on Sather?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     There is  a Sather mailing  list maintained at  the International Computer
  Science Institute (ICSI) of  the University of  California, Berkeley.  To  be
  added to or deleted from the Sather list, send a message to
  
                        [email protected]
  
     If you have problems with  Sather  or  related questions that  are  not of
  general interest to the "sather" list, send your contributions to
  
                         [email protected]
  
  This  is also  where  you  want to  send  bug  reports  and  suggestions  for
  improvements.  The  archives of the Sather  mailing  list  are available  via
  anonymous ftp from pub/sather at ftp.ICSI.Berkeley.EDU.
  
     This archive also contains Sather-related technical reports and  papers in
  the  subdirectory "paper".  See the README  files  for more  details. Besides
  the language definitions listed above, you can retrieve, for instance:
  
  license.txt:  The Sather library general public license describing
                restrictions on using Sather library classes.
  
  TR91034.ps.Z: "Sather Language Design and Performance Evaluation",
                by Chu-Cheow Lim and Andreas Stolcke.
  
  TR91047.ps.Z: "CLOS, Eiffel and Sather: A comparison",
                by Heinz W. Schmidt and Stephen M. Omohundro.
  
  
Q 7: Are there public domain implementations of Sather?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     There are two implementations available for free.  Both share a rich set of
  library classes and a powerful Emacs/Epoch programming environment, but differ
  in  the  compiler and  runtime system.  One is  by the International  Computer
  Science  Institute,  Berkeley, with  additions  and ports  by the  Division of
  Information  Technology,  Canberra,  of the  Australian CSIRO, and  one by the
  University of Karlsruhe, Germany.  Both are in the public domain.
  
  Karlsruhe Sather supports:
  
       * SPARC   SPARCstation running SunOS 4.1
  
  It  includes  the  `typecase' construct  of Sather  1.0. Its  runtime  system
  implements dispatching more efficiently, and supports  hardware and operating
  system exceptions via the Sather 0.2  exception handling  mechanism. Moreover
  its closed compilation  approach eliminates all unused features and  leads to
  more compact executables.
  
  ICSI Sather supports:
  
       * DS5000  Ultrix 4.2
       * HP300   HP 9000/300 running HP-UX 8.0
       * HPPA    HP 700/800 running HP-UX 8.0
       * MIPS    RC6280/RC3230
       * NeXT    Release 2.1
       * SCO     SYSV R3.2
       * Sequent Symmetry DYNIX(R) V3.0
       * Sony    NEWS 3000
       * SPARC   SunOS 4.1
       * SUN386  Sun 386i  running SunOS 4.0
  
  Other Ports known to [email protected]:
  
       * IBM RS6000 AIX 3.1
       * SGI Iris Irix 4.0       
       * SGI R4000 IRIX 4.0
       * MEIKO Multiprocessor INMOS T800, INTEL I860 computing surface
    
     The current version, 0.2, implements a beta release of the  language, that
  helped  determine the best  features  of the upcoming  Sather  1.0.  The main
  changes and additions in Sather 1.0 are:
  
       * type-safety
       * invariants
       * separation of inheritance and subtyping
       * value, function, and iterator types
       * overloading
  
     The Sather  distribution  includes  a  user  manual,  compiler,  debugger,
  runtime library,  applications  libraries and an  Emacs-based  class browser,
  documenter, syntax-oriented editing and source-level debugging interface.
  
     The compiler generates C as an intermediate language, and should be fairly
  easy to port.  Except  for the  very lowest  levels of the runtime system and
  debugger interface (based  on  GNU  gdb),  the  entire system  is written  in
  Sather.
  
  
Q 8: What is the size of the package?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     The tar.Z file is 4+ Mbytes, and when the  system is installed it requires
  20+ Mbytes including libraries.
  
  
Q 9: Where can I get the latest implementation?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     Version 0.2i is the latest ICSI release available via ftp from
  
       * 128.32.201.55  USA     /pub/sather       ftp.ICSI.Berkeley.EDU
       * 129.26.8.90    EUROPE  /pub/Sather       ftp.gmd.DE
       * 133.137.4.3    JAPAN   /pub/lang/sather  sra.CO.JP
       * 192.41.146.1   AUS     /pub/sather       lynx.csis.dit.CSIRO.AU
  
     Here is a typical dialog (omitting some of the response):
  
     > mkdir sather
     > cd sather
     > ftp ftp.icsi.berkeley.edu
     Connected to icsia.ICSI.Berkeley.EDU.
     Name (ftp.icsi.berkeley.edu:clinton): ftp
     331 Guest login ok, send e-mail address as password.
     Password:
     230 Guest login ok, access restrictions apply.
     ftp> cd pub/sather
     250 CWD command successful.
     ftp> bin
     200 Type set to I.
     ftp> get sa-0.2i.tar.Z
     ftp> bye
     > uncompress sa-0.2i.tar.Z
     > tar xvf sa-0.2i.tar
     > less README
     > less doc/INSTALL
     > less doc/STARTING
  
    
Q10: The distribution emacs directory is empty. Where is the Emacs support? 
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     The Emacs support is now unbundled  because it requires adaptations to new
  Emacs  or  Epoch  releases  at  rates  independent  of  the  ongoing   Sather
  development.      The     latest     version     can     be      found     in
  the directory contrib/Elisp.tar.Z on the distribution hosts.
  
  
Q11: What is the future of Sather?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     Besides the Sather 1 project at ICSI, several groups are developing Sather
  for teaching, research, and development, in different application areas.
  
     Karlsruhe  Sather (Sather-K)  is a sub-language for introductory courses on
  object-oriented design and type-safe programming.  It stresses the orthogonal
  integration of a minimal set of object-oriented mechanisms.   Sather research
  projects  are  being conducted in the traditionally strong field of Karlsruhe
  CS: compiler construction.  (Contact: [email protected])
  
     Parallel  Sather (pSather) is a stable parallel version  of the  language,
  developed  and  in  use  at   ICSI.   pSather  addresses   virtually  shared,
  non-uniform-memory-access multiprocessor  architectures.   It  adds  threads,
  synchronization,  data  distribution, and  locality.   Multiple  threads  can
  execute  in  one object.   A  distinguished  class MONITOR  combines  various
  dependent low-level synchronization mechanisms efficiently:  locks,  futures,
  and conditions.  Implementations include CM-5, Sequent  Symmetry, and Sparcs.
  (Contact: [email protected])
     Reports  and  papers  on pSather  may  be obtained  by anonymous ftp  from
  /pub/sather/psather.papers at ftp.ICSI.Berkeley.EDU.
  
     Data-parallel Sather  (dpSather)  is  a  recent  experiment  for  studying
  fine-grain  deterministic  parallelism  at  the   Australian  CSIRO  and  the
  Australian  National University, Canberra.  Shaped collections, in  the sense
  of the Paralation model, are classes encapsulating locality, data mapping and
  redistribution.    Parallelism  is   limited   to   be   interference   free.
  Implementations   are  under  development  for  MasPar  and  Fujitsu  AP1000.
  (Contact: [email protected])
     Reports  and  papers on dpSather  may be obtained by  anonymous  ftp  from
  /pub/sather/dpsather.papers at lynx.csis.dit.CSIRO.AU.
  
  
Q12: What does the Eiffel community think about Sather?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     The following extract is taken from a recent Eiffel FAQ:
  
  "Sather is a  new language patterned after Eiffel, but emphasizing efficiency
  and  programmer  convenience  over  software  correctness,  reusability,  and
  maintenance. 
  
  "Sather simplifies some Eiffel constructs, eliminates others and adds some of
  its own such as built-in arrays and programmer specified dynamic dispatching.
  It compiles quickly and produces  smaller executables than Eiffel 2.3.4.  The
  Sather  environment includes  an  Emacs  editing environment, a debugger, and
  several hundred library classes. 
  
  "The 1.0  release of Sather is  now imminent. It adds  many new features that
  should prove attractive to creators of  advanced mathematical based software.
  Sather 1.0 is no longer simpler than Eiffel.  In fact, the best way  to think
  of  Sather  is  as  Eiffel  for  PhD's.   Sather  is  still  very  efficient,
  especially for a portable, non-commercial language."
  
  
Q13: Is there a way to reduce recompiles further than "-fast"?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     You can control  the granularity of incremental compilation by the classes
  you put in one file. The major fraction of compilation time is spent in the C
  compilation.  Incremental compilation  only keeps track  of file time-stamps.
  For correctness, the  compiler is conservative in deciding what to recompile.
  The -fast compilation option avoids  overwriting target C files that have not
  changed  from  one  compilation to the  next,  even  though sources may  have
  changed.  "make" takes care of further target dependencies from there.
  
  
Q14: Is the quality of Sather sufficiently useful for real world products?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     The tools  in  the system including  compiler, debugger and Emacs  support
  have been pretty stable since  the first release in mid  1991.  At  ICSI,  we
  have  developed moderate-sized programs, including  simulators.   It has also
  been used in class teaching.  Your needs may or may not be the same though.
  
  
Q15: I want to use sdb on a ... workstation. What can I do?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     The Sather debugger, sdb, is  based  on  GNU  gdb  3.6.  The  distribution
  contains  only  the  SPARC  version.   If  you  have  gdb  for  a   different
  architecture,  it should  be easy  to get sdb  running,  too.  Gdb has  a few
  machine dependent files.   Sdb does not directly depend on these files.   You
  want to replace these  files using  the  respective gdb  3.6  files for  your
  architecture.

From [email protected] Fri May 28 16:18:17 1993
Path: uunet!bounce-back
From: [email protected] (Martina-Maria Seidel)
Newsgroups: news.announce.newgroups,news.groups,comp.object,comp.lang.eiffel,comp.lang.c++,comp.lang.oberon
Subject: 2nd CFV: comp.lang.sather
Followup-To: poster
Date: 27 May 1993 17:59:02 -0400
Organization: International Computer Science Institute, Berkeley, CA, U.S.A.
Lines: 419
Sender: [email protected]
Approved: [email protected]
Message-ID: <[email protected]>
NNTP-Posting-Host: rodan.uu.net
Xref: uunet news.announce.newgroups:3632 news.groups:72913 comp.object:11131 comp.lang.eiffel:3797 comp.lang.c++:44460 comp.lang.oberon:373

                   Second CALL  FOR   VOTES  ON 
                   ------
                        comp.lang.sather
                        ----------------

As per the rules for forming new newsgroups, following the last month
of discussion, this is the official call for votes on the formation of
"comp.lang.sather".

It's purpose will be to act as an unmoderated forum for discussion of
the object-oriented computer language Sather. These discussions
currently take place on the mailing list "[email protected]"
which has about 300 participants from countries all over the world.
The Sather compiler, debugger, programming environment, documentation
and class library are freely available by anonymous FTP. The initial
version 0.2 of the compiler was released almost two years ago and an
active user community has been established.  Based on experience with
that version, Sather 1.0 has been specified and work is currently
underway on a combination interpreter/debugger/compiler and a new much
larger class library.  Again these will be freely available by
anonymous FTP.  With the first "official" release of the Sather
language, we anticipate a much larger user community and therefore
feel that the time is appropriate to move from mailing-list based
discussions to a newsgroup. The Sather FAQ is appended to the end of
this message to provide further information about the language.

Voting period: Between today and June 16th, 23:59 UTC!
 

Please mail votes to:  [email protected]   !!!!!!!!!!!!
       ----            -----------------------------

Please choose exactly one of the following two replies:
              -----------     
++++++++++++++++++++++++++++++++++++++++++++++++++++++++

YES, I vote FOR the formation of comp.lang.sather. 

                 or

NO, I vote AGAINST the formation of comp.lang.sather.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Other comments which do not state the voter's opinion clearly or which
are not mailed correctly during the voting period to the mailing
address mentioned above, WILL NOT COUNT !!! Sorry!

Thank you for your reply.

Martina-Maria Seidel

------------------------------------------------------------------


To whom it may concern here some information on SATHER:

The following is a Sather FAQ; thanks to all who contributed.  This
will be sent out once every few months.  If you have suggestions for
the inclusion of other useful information, please send email to
[email protected]

                    .___________________________________.
                    |                                   |\
                    | SATHER FREQUENTLY ASKED QUESTIONS |\
                    |___________________________________|\
                     \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Q 1: What is Sather?
Q 2: Is Sather a subset or superset of Eiffel?
Q 3: Where does the name "Sather" come from? How do I pronounce it?
Q 4: What does the "Hello World" program look like?
Q 5: Where can I get a description of Sather?
Q 6: Where can I get other information on Sather?
Q 7: Are there public domain implementations of Sather?
Q 8: What is the size of the package?
Q 9: Where can I get the latest implementation?
Q10: The distribution emacs directory is empty. Where is the Emacs support? 
Q11: What is the future of Sather?
Q12: What does the Eiffel community think about Sather?
Q13: Is there a way to reduce recompiles further than "-fast"?
Q14: Is the quality of Sather sufficiently useful for real world products?
Q15: I want to use sdb on a ... workstation. What can I do?
------------------------------------------------------------------------------

Q 1: What is Sather?
     ~~~~~~~~~~~~~~
Sather is an object oriented language which aims to be simple,
efficient, interactive, safe, and non-proprietary. It aims to meet the
needs of modern research groups and to foster the development of a
large, freely available, high-quality library of efficient
well-written classes for a wide variety of computational tasks. It was
originally based on Eiffel but now incorporates ideas and approaches
>from several languages. One way of placing it in the "space of
languages" is to say that it attempts to be as efficient as C, C++, or
Fortran, as elegant and safe as Eiffel or CLU, and to support
interactive programming and higher-order functions as well as Common
Lisp, Scheme, or Smalltalk.

Sather has garbage collection, statically-checked strong typing,
multiple inheritance, separate implementation and type inheritance,
parameterized classes, dynamic dispatch, iteration abstraction,
higher-order routines and iters, exception handling, constructors for
arbitrary data structures, and assertions, preconditions,
postconditions, and class invariants. The development environment
integrates an interpreter, a debugger, and a compiler. Sather code can
be compiled into C code and can efficiently link with C object files.

Sather has a very unrestrictive license aimed at encouraging
contribution to the public library without precluding the use of
Sather for proprietary projects.


Q 2: Is Sather a subset or superset of Eiffel?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Neither. Valid Eiffel programs are not Sather programs, nor vice
versa. Sather 0.2 was closer to being a subset of Eiffel 2.0 but even
then introduced several distinct constructs primarily to improve
computational efficiency. Eiffel 3.0 has expanded significantly in a
different direction. Sather 1.0 has introduced several new constructs
(eg. iteration abstraction, higher order routines, object
constructors, static type safety) which makes the two languages quite
distinct now.

Q 3: Where does the name ``Sather'' come from? How do I pronounce it?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Sather language gets its name from the Sather Tower (popularly
known as the Campanile), the best-known landmark of the University of
California at Berkeley.  A symbol of the city and the University, it
is the Berkeley equivalent of the Golden Gate bridge.  Erected in
1914, the tower is modeled after St. Mark's Campanile in Venice,
Italy. It is smaller and a bit younger than the Eiffel tower, and
closer to most Americans -- and lovers of Venice of course.  Yet, at
307 feet it houses 50 tons of human, dinosaur and other animal bones
mostly collected from the La Brea Tar Pits.  Unseen by most visitors
the collection covers six floors of the tower. The way most people say
the name of the language rhymes with "bather".


Q 4: What does the ``Hello World'' program look like?
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class HELLO is
   main is OUT::s("Hello World!").nl end
end

Q 5: Where can I get a description of Sather?
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   The Sather language definition is available via ftp from
/pub/sather at ftp.ICSI.Berkeley.EDU. See the file README for more
details.

   S.  Omohundro: "The Sather Language" contains the definition of the
currently available implementation.

   S.  Omohundro: "The Sather 1.0 Specification" contains the
definition of the revised Sather language. The 1.0 implementation is
not yet available. The table of contents of the 1.0 spec is:

Introduction
Types and Classes
     Class definition lists, Class definitions, Type specifiers, 
     Parameter constraints and defaults
Features
     `inherit' clauses, `undefine' clauses, `private' clauses, 
     Constant attribute definitions, Shared attribute definitions, 
     Object attribute definitions, Routine definitions, Iter definitions
Statements
     Declaration statements, Simple assignment statements, Tuple 
     assignment statements, `if' statements, `loop' statements, 
     `return' statements, `yield' statements, `case' statements,
     `typecase' statements, `assert' statements, `protect' 
     statements, `raise' statements, Expression statements
Expressions
     Local access expressions, Routine and iter call expressions,
     Caret call expressions, `void' expressions,
     Value and reference object constructor expressions,
     Bound routine and iter constructor expressions,
     Syntactic sugar expressions, `and' expressions, `or' expressions,
     `not' expressions, `=' expressions, `initial' expressions
Lexical Structure
     Boolean literal expressions, Character literal expressions,
     String literal expressions,  Integer literal expressions,
     Floating point literal expressions
Special features
     `type', `id', `copy', `invalidate',  `str', `while', `until',
     `break', `main'
Built-in classes
Interfacing with other languages


Q 6: Where can I get other information on Sather?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   There is a Sather mailing list maintained at the International
Computer Science Institute (ICSI).  To be added to or deleted from the
Sather list, send a message to

		      [email protected]

   If you have problems with Sather or related questions that are not
of general interest to the "sather" list, mail to

		       [email protected]

This is also where you want to send bug reports and suggestions for
improvements.  The archives of the Sather mailing list are available
via anonymous ftp from pub/sather at ftp.ICSI.Berkeley.EDU.

   This archive also contains Sather-related technical reports and
papers in the subdirectory "paper".  See the README files for more
details. Besides the language definitions listed above, you can
retrieve, for instance:

license.txt:  The Sather library general public license describing
	      restrictions on using Sather library classes.

TR91034.ps.Z: "Sather Language Design and Performance Evaluation",
	      by Chu-Cheow Lim and Andreas Stolcke.

TR91047.ps.Z: "CLOS, Eiffel and Sather: A comparison",
	      by Heinz W. Schmidt and Stephen M. Omohundro.


Q 7: Are there public domain implementations of Sather?
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   There are two implementations available for free.  Both share a
rich set of library classes and a powerful Emacs/Epoch programming
environment, but differ in the compiler and runtime system.  One is by
the International Computer Science Institute, Berkeley, with additions
and ports by the Division of Information Technology, Canberra, of the
Australian CSIRO, and one by the University of Karlsruhe, Germany.
Both are in the public domain.

Karlsruhe Sather supports:

     * SPARC   SPARCstation running SunOS 4.1

It includes the `typecase' construct of Sather 1.0. Its runtime system
implements dispatching more efficiently, and supports hardware and
operating system exceptions via the Sather 0.2 exception handling
mechanism. Moreover its closed compilation approach eliminates all
unused features and leads to more compact executables.

ICSI Sather supports:

     * DS5000  Ultrix 4.2
     * HP300   HP 9000/300 running HP-UX 8.0
     * HPPA    HP 700/800 running HP-UX 8.0
     * MIPS    RC6280/RC3230
     * NeXT    Release 2.1
     * SCO     SYSV R3.2
     * Sequent Symmetry DYNIX(R) V3.0
     * Sony    NEWS 3000
     * SPARC   SunOS 4.1
     * SUN386  Sun 386i  running SunOS 4.0

Other Ports known to [email protected]:

     * IBM RS6000 AIX 3.1
     * SGI Iris Irix 4.0       
     * SGI R4000 IRIX 4.0
     * MEIKO Multiprocessor INMOS T800, INTEL I860 computing surface

   The current version, 0.2, implements a beta release of the
language, that helped determine the best features of the upcoming
Sather 1.0.  The main changes and additions in Sather 1.0 are:

     * type-safety
     * invariants
     * separation of inheritance and subtyping
     * value, function, and iterator types
     * overloading

   The Sather distribution includes a user manual, compiler, debugger,
runtime library, applications libraries and an Emacs-based class
browser, documenter, syntax-oriented editing and source-level
debugging interface.

   The compiler generates C as an intermediate language, and should be
fairly easy to port.  Except for the very lowest levels of the runtime
system and debugger interface (based on GNU gdb), the entire system is
written in Sather.


Q 8: What is the size of the package?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The tar.Z file is 4+ Mbytes, and when the system is installed it
requires 20+ Mbytes including libraries.


Q 9: Where can I get the latest implementation?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Version 0.2i is the latest ICSI release available via ftp from

     * 128.32.201.55  USA     /pub/sather       ftp.ICSI.Berkeley.EDU
     * 129.26.8.90    EUROPE  /pub/Sather       ftp.gmd.DE
     * 133.137.4.3    JAPAN   /pub/lang/sather  sra.CO.JP
     * 192.41.146.1   AUS     /pub/sather       lynx.csis.dit.CSIRO.AU

   Here is a typical dialog (omitting some of the response):

   > mkdir sather
   > cd sather
   > ftp ftp.icsi.berkeley.edu
   Connected to icsia.ICSI.Berkeley.EDU.
   Name (ftp.icsi.berkeley.edu:clinton): ftp
   331 Guest login ok, send e-mail address as password.
   Password:
   230 Guest login ok, access restrictions apply.
   ftp> cd pub/sather
   250 CWD command successful.
   ftp> bin
   200 Type set to I.
   ftp> get sa-0.2i.tar.Z
   ftp> bye
   > uncompress sa-0.2i.tar.Z
   > tar xvf sa-0.2i.tar
   > less README
   > less doc/INSTALL
   > less doc/STARTING


Q10: The distribution emacs directory is empty. Where is the Emacs support? 
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The Emacs support is now unbundled because it requires adaptations
to new Emacs or Epoch releases at rates independent of the ongoing
Sather development.  The latest version can be found in the directory
contrib/Elisp.tar.Z on the distribution hosts.


Q11: What is the future of Sather?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Besides the Sather 1 project at ICSI, several groups are developing
Sather for teaching, research, and development, in different
application areas.

   Karlsruhe Sather (Sather-K) is a sub-language for introductory
courses on object-oriented design and type-safe programming.  It
stresses the orthogonal integration of a minimal set of
object-oriented mechanisms.  Sather research projects are being
conducted in the traditionally strong field of Karlsruhe CS: compiler
construction.  (Contact: [email protected])

   Parallel Sather (pSather) is a stable parallel version of the
language, developed and in use at ICSI.  pSather addresses virtually
shared, non-uniform-memory-access multiprocessor architectures.  It
adds threads, synchronization, data distribution, and locality.
Multiple threads can execute in one object.  A distinguished class
MONITOR combines various dependent low-level synchronization
mechanisms efficiently: locks, futures, and conditions.
Implementations include CM-5, Sequent Symmetry, and Sparcs.  (Contact:
[email protected])
   Reports and papers on pSather may be obtained by anonymous ftp from
/pub/sather/psather.papers at ftp.ICSI.Berkeley.EDU.

   Data-parallel Sather (dpSather) is a recent experiment for studying
fine-grain deterministic parallelism at the Australian CSIRO and the
Australian National University, Canberra.  Shaped collections, in the
sense of the Paralation model, are classes encapsulating locality,
data mapping and redistribution.  Parallelism is limited to be
interference free.  Implementations are under development for MasPar
and Fujitsu AP1000.  (Contact: [email protected])
   Reports and papers on dpSather may be obtained by anonymous ftp
>from /pub/sather/dpsather.papers at lynx.csis.dit.CSIRO.AU.


Q12: What does the Eiffel community think about Sather?
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The following extract is taken from a recent Eiffel FAQ:

"Sather is a new language patterned after Eiffel, but emphasizing
efficiency and programmer convenience over software correctness,
reusability, and maintenance.

"Sather simplifies some Eiffel constructs, eliminates others and adds
some of its own such as built-in arrays and programmer specified
dynamic dispatching.  It compiles quickly and produces smaller
executables than Eiffel 2.3.4.  The Sather environment includes an
Emacs editing environment, a debugger, and several hundred library
classes.

"The 1.0 release of Sather is now imminent. It adds many new features
that should prove attractive to creators of advanced mathematical
based software.  Sather 1.0 is no longer simpler than Eiffel.  In
fact, the best way to think of Sather is as Eiffel for PhD's.  Sather
is still very efficient, especially for a portable, non-commercial
language."


Q13: Is there a way to reduce recompiles further than "-fast"?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   You can control the granularity of incremental compilation by the
classes you put in one file. The major fraction of compilation time is
spent in the C compilation.  Incremental compilation only keeps track
of file time-stamps.  For correctness, the compiler is conservative in
deciding what to recompile.  The -fast compilation option avoids
overwriting target C files that have not changed from one compilation
to the next, even though sources may have changed.  "make" takes care
of further target dependencies from there.


Q14: Is the quality of Sather sufficiently useful for real world products?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The tools in the system including compiler, debugger and Emacs
support have been quite stable since the first release in mid 1991.
At ICSI, we have developed several moderate-sized programs, including
connectionist simulators.  It has also been used in class teaching.
Your needs may or may not be the same though.


Q15: I want to use sdb on a ... workstation. What can I do?
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   The Sather debugger, sdb, is based on GNU gdb 3.6.  The
distribution contains only the SPARC version.  If you have gdb for a
different architecture, it should be easy to get sdb running, too.
Gdb has a few machine dependent files.  Sdb does not directly depend
on these files.  You want to replace these files using the respective
gdb 3.6 files for your architecture.

From [email protected] Wed Jun 23 21:14:02 1993
Path: uunet!bounce-back
From: [email protected] (Martina-Maria Seidel)
Newsgroups: news.announce.newgroups,news.groups,comp.object,comp.lang.eiffel,comp.lang.c++,comp.lang.oberon
Subject: RESULTS: comp.lang.sather passes 265:18
Followup-To: news.groups
Date: 21 Jun 1993 15:39:41 -0400
Organization: International Computer Science Institute, Berkeley, CA, U.S.A.
Lines: 324
Sender: [email protected]
Approved: [email protected]
Message-ID: <[email protected]>
NNTP-Posting-Host: rodan.uu.net
Xref: uunet news.announce.newgroups:3723 news.groups:74677 comp.object:11442 comp.lang.eiffel:3831 comp.lang.c++:46197 comp.lang.oberon:441

		Received votes on comp.lang.sather til June 16th 1993:

We received 265 votes for "YES"  and
             18 votes for "NO"

Thanks to all who have voted !!!  Martina ([email protected])

With "YES" on comp.lang.sather as a newsgroup have voted:  265
---------------------------------------------------------
Clemens Szyperski <[email protected]>
[email protected]
Chris Bregler <[email protected]>
[email protected] (David Petrie Stoutamire)
[email protected] (Krste Asanovic)
[email protected]
[email protected] (Matt Kennel)
[email protected] (Mark Probert)
[email protected] (John Hosking)
Mike D Jenkins <[email protected]>
10
[email protected] (David Van Couvering)
[email protected] (Daniel S. Rice)
"Daniel R. Grayson" <[email protected]>
[email protected] Stuart Hungerford 
[email protected] (Anthony L. Kimball)
[email protected] (Greg Hale)
[email protected]
[email protected]
[email protected] (Michael T Rowley)
John Bigboote <[email protected]>
20
Michael Brown <[email protected]>
John Worfin <[email protected]>
[email protected] (Andrew Duckworth)
[email protected] (David Jones)
[email protected]
[email protected] (Kimmo Lahtinen)
[email protected]
[email protected]
[email protected] (Niclas Wiberg)
Lukas Faulstich <[email protected]>
30
[email protected] (Subutai Ahmad)
[email protected]
[email protected] (Dov Grobgeld)
[email protected] (Hans Rohnert)
Arne Frick UniKa <[email protected]>
[email protected] (Regine Meunier)
[email protected]
[email protected] (Wm Randolph Franklin)
P{r Emanuelsson <[email protected]>
[email protected] (Franck Hamelin)
40
>From [email protected]
[email protected] (Konrad Kiefer)
[email protected] (Frank Tuijnman)
Colin McPhail <[email protected]>
[email protected] (Frank Buschmann)
[email protected]
[email protected] (Juergen Knopp)
Martin Trapp <[email protected]>
[email protected] (Jerome Chailloux)
Lionel Mallet <[email protected]>
50
Gerd Aschemann <[email protected]>
Mats Sundvall  <sundvall@perrier.embnet.SE>
Fred GUIDEC <Frederic.Guidec@irisa.fr>
David Waelder <davidw@fib.upc.es>
sjr@eng.cam.ac.uk Steve Renals
Jean-Marc Jezequel <Jean-Marc.Jezequel@irisa.fr>
Patrick Ferrante <Patrick.Ferrante@sophia.inria.fr>
kai@km21.zfe.siemens.de (Kai Toedter)
joachim@matematik.su.se (Joachim Hollman)
csanchez@dit.upm.es (Carlos Sanchez Tarnawiecki)
60
bburton@IBX.COM (Brian Burton)
dat@Thinkage.On.CA (David Adrien Tanguay)
htsa!sluis!andre@relay.nluug.nl (Andre van der Vlies)
mullens@jamsun.IC.ORNL.GOV (James A. Mullens)
dan@chem.bu.edu  (Dan Dill)
Mark Pralat <pralat@p400.sequoia.com>
"Timothy J. Burr" <burr@seas.gwu.edu>
Bruce.Feist@f615.n109.z1.fidonet.org (Bruce Feist)
fischer@ait.nrl.navy.mil (Mark Fischer)
gransart@lifl.fr Christophe Gransart
70
Paul Crowley <pdc@dcs.ed.ac.uk>
jfeldman@ICSI.Berkeley.EDU (Jerry Feldman)
probert%cs@hub.ucsb.edu (Dave Probert)
murer@ICSI.Berkeley.EDU (Stephan Murer)
rogerb@eiffel.demon.co.uk (Roger Browne)
Brian Rogoff <rogoff@sccm.Stanford.EDU>
Joachim Beer <beer@ICSI.Berkeley.EDU>
mseidel@ICSI.Berkeley.EDU (Martina-Maria Seidel)
d87-mal@nada.kth.se
80
Ari Juhani Huttunen <ahuttune@Niksula.hut.fi>
nokie@ruacad.ac.runet.edu
David Garcia <trdavid@eio.upc.es>
platypus@curie.CES.CWRU.Edu (Gary Kacmarcik)
"Xiling ZHOU" <ZHOUXL@kekvax.kek.jp>
Mike Crooks <mike@cpsg.com.au>
om@ICSI.Berkeley.EDU (Stephen M. Omohundro)
arthur@franklin.com (Arthur Gabe)
tim@sybase.com (Tim Wood)
hugh@cosc.canterbury.ac.nz (Hugh Emberson)
90
rzahir@mipos2.intel.com (Rumi Zahir)
glenn@nimbus.som.cwru.edu (Glenn Crocker)
Albert Kiruki <Albert.Kiruki@cs.anu.edu.au>
Gunther Siegel <Gunther.Siegel@sophia.inria.fr>
Miguel Canales <Miguel.Canales@sophia.inria.fr>
Philipp.Faerber@qmail.tik.ethz.ch (Philipp Faerber)
holly@wowbagger.pc-labor.uni-bremen.de (Holger Duerer)
prechelt@ira.uka.de Lutz Prechelt 
<FLEINERC%CFRUNI51.BITNET@cmsa.Berkeley.EDU>
Daniel.Scherer@qmail.tik.ethz.ch (Daniel Scherer)
100
Jeff Putnam <jefu@akbar.nmt.edu>
<Griesemer@cs.inf.ethz.ch>
"G.Isenmann" <isenmann@theo3.physik.uni-stuttgart.de>
Hery Rakotoarisoa <Hery.Rakotoarisoa@sophia.inria.fr>
urs@cs.stanford.edu (Urs Hoelzle)
Michael C Comerford <mcomerfo@magnus.acs.ohio-state.edu>
baum@astra.tamu.edu (Steve Baum)
Rozendaal DL <dlrozend@cs.vu.nl>
A Satish Pai <Pai-Satish@CS.YALE.EDU>
Robert Daniel Kennedy <kennedy@b0sg03.fnal.gov>
110
dbenson%decserv2@dns1.eecs.wsu.edu
Gordie Freedman <gordie@cyclesoft.com>
tynor@atlanta.twr.com (Steve Tynor)
brand@mephisto.ils.nwu.edu (Matthew Brand)
gviswana@cs.wisc.edu (Guhan Viswanathan)
dm_devaney@pnlg.pnl.gov
rlh@world.std.com (Roger L Hale)
boyland@aspen.CS.Berkeley.EDU
"Kandiah Thananchayan" <thana@sie.arizona.edu>
kai@cirrus.som.cwru.edu (Kai Getrost)
120
Jerry B Altzman <jbaltz@watsun.cc.columbia.edu>
radcode!sab@uunet.UU.NET (Stefan Aberg)
JED@AppleLink.Apple.COM (Harris, Jed)
adcmail!jasons@uu4.psi.com (Jason Smith)
eurocor!mike@uunet.UU.NET (Mike Geipel)
Clive Murphy <ccm@gec-erc.co.uk>
dgarrett@engr.LaTech.edu (Don Garrett)
Mike McGann <mwm@hasler.ascom.ch>
cracauer@wavehh.hanse.de (Martin Cracauer)
ringi@x.co.uk (Ian Ringrose)
130
jcv26@cas.org (Jon Vander Hill)
hooper@bitsy.ccs.queensu.ca (Andy Hooper)
Jean-Pierre Dussault <jean-pierre.dussault@dmi.usherb.ca>
Jac Kersing <kersing@the-box.iaf.nl>
James da Silva <jds@cs.UMD.EDU>
will@aristotle.ils.nwu.edu (William Fitzgerald)
monty@its.com (Montgomery Zukowski)
robert@gtx.com (Robert Eaglestone)
rick@crick.ssctr.bcm.tmc.edu (Richard H. Miller)
sachs@slinky.cs.nyu.edu (Jay Sachs)
140
bilmes@rhythm.media.mit.edu  Jeff A. Bilmes 
clim@ICSI.Berkeley.EDU (Chu-Cheow Lim)
rsmith@wisp4.physics.wisc.edu (Randall K. Smith)
e3ubec@fnma.COM (Blaine Crowther)
n@predict.com (Norman Packard)
bytex!ws043!greg@uunet.UU.NET (Greg Moberg @ws043)
Don Griffiths <don@cujo.curtin.edu.au>
sean@forte.com (Sean Fitts)
William Stuart-smith <wil@cix.compulink.co.uk>
bernd@bwhwob.escape.de (Bernd Wiegmann)
150
David Li <david@twnug.info.com>
karstens@informatik.uni-rostock.de (Bernd Karstens)
Raphael Manfredi <ram@acri.fr>
kmori@hyperion.lsi-j.co.jp (Koichiro Mori)
Ed Wilson <edw@sco.COM>
frank@per.geomechanics.csiro.au (Frank Horowitz)
helge@wowbagger.pc-labor.uni-bremen.de (Helge Schulz)
Joerg-Eric Schulz <schulz@adam.informatik.uni-stuttgart.de>
Philippe Mussi <Philippe.Mussi@sophia.inria.fr>
Stefan <S.A.Kruger@cm.cf.ac.uk>
160
edvande@rosevax.rosemount.com (Ed Vandergriff)
paisley@bilbo.suite.com (Theo Petersen)
Phil Koop <pkk@zooid.guild.org>
chuahl@uclink.berkeley.edu (Chua Hak Lien)
Jesus Eugenio S nchez Pe~a <al198723@academ07.mty.itesm.mx>
bengeult@plato.ds.boeing.com (Greg Bengeult)
Carl Bryan Burch <carl@constellation.ecn.uoknor.edu>
neil@aldur.demon.co.uk
Philip Santas <santas@inf.ethz.ch>
acagney@macadam.mpce.mq.edu.au (Andrew Cagney)
170
Motoyuki Kasahara <m-kasahr@sramhc.sra.co.jp>
Joachim Weisbrod   <weisbrod@karlsruhe.gmd.de>
"Dr. Wolf Zimmermann" <zimmer@karlsruhe.gmd.de>
anders.blomdell@control.lth.se (Anders Blomdell)
Dominique Colnet <Dominique.Colnet@loria.fr>
Christoph.Niedermeier@physik.uni-muenchen.de
Thilo Kielmann <kielmann@isa.informatik.th-darmstadt.de>
dab@epsilon.com (Dan A. Burkhard)
Konrad Hinsen <HAC041%DJUKFA11.BITNET@cmsa.Berkeley.EDU>
bleier@menu.visus.com (Alan Bleier)
180
berniet@vnet.IBM.COM
Chakravarthy Kolli <kolli@seas.gwu.edu>
elkins@nmrlab.cabm.rutgers.edu (George Elkins)
dubois@icf.llnl.gov (P. Dubois)
Per Abrahamsen <amanda@iesd.auc.dk>
seidl@alw.nih.gov  Edward Seidl
mmlai!jensen@uunet.UU.NET (Jim Jensen)
probert%cs@hub.ucsb.edu (Dave Probert)
hws@csis.dit.csiro.au Heinz.Schmidt
peter@robots.oxford.ac.uk
190
pmoran@ncsa.uiuc.edu (Patrick Moran)
metzemak@platon.emi.u-bordeaux.fr (Timo Metzemakers)
johng@research.otc.com.au (John Gibbons)
bjtreloa@teaching.cs.adelaide.edu.au (Baerrach bonDierne)
jant@stavanger.sgp.slb.com (Jan Tveiten )
Christian Millour <chris@etca.fr>
manfred jobmann <jobmann@informatik.tu-muenchen.de>
mazzanti@iei.pi.cnr.it (Franco Mazzanti)
Jonathan Bachrach <Jonathan.Bachrach@ircam.fr>
bburton@IBX.COM (Brian Burton)
200
Piet van Oostrum <piet@cs.ruu.nl>
d88-jnn@sm.luth.se
<SIEBER%CFRUNI51.BITNET@cmsa.Berkeley.EDU>
Bill Lenhart <lenhart@bambam.cs.mcgill.ca>
gt@prosun.first.gmd.de (Gerd Truschinski)
R.C.Shiels@bradford.ac.uk
Tobias.Murer@qmail.tik.ethz.ch (Tobias Murer)
Sinclair M C <mcs@essex.ac.uk>
Knut C. Landmark <kcl@zarniwoop.pc-labor.uni-bremen.de>
ridgway@krylov.UCSD.EDU (Doug Ridgway)
210
purinton@leland.stanford.edu (Joshua Jordan Purinton)
ralph@inrird.com (Ralph Hayward)
Doug.Landauer@Eng.Sun.COM (Doug Landauer)
>From davidj@ICSI.Berkeley.EDU 
Michel RIVEILL <riveill@mururoa.imag.fr>
arg@sunbim.be (Alain Rogister)
"a.vanemmenis" <aove@cad-cen.co.uk>
fyoung@gssec.bt.co.uk (Fraser Young)
Igor Metz <metz@iam.unibe.ch>
Bernhard Rumpe <rumpe@informatik.tu-muenchen.de>
220
phillips@rmcece.rmc.ca (Greg Phillips)
kaba@wintermute.north.de (Kai Bartels)
stewartg@ERE.UMontreal.CA (Stewart Gilles)
Kenneth R. Ballou <ballou@oberon.com>
Wolfgang Goerigk <wg@informatik.uni-kiel.dbp.de>
mack2@mdsol1 (Dave Mack)
wnj@indigo.hobby.nl (Willy Jacobs)
David Muir Sharnoff <muir@idiom.berkeley.ca.us>
Pekka Yrjola <pekkay@moondawn.pp.fi>
esj@harvee.billerica.ma.us (Eric S Johansson)
230
linimon@lonesome.com (Mark Linimon)
haimo@uxuw04.cern.ch
nv89-nun@nada.kth.se
William Stuart-smith <wil@cix.compulink.co.uk>
bhutchison@alias.com (Robert Hutchison)
psa@di.uminho.pt (Paulo Sergio Almeida)
Loic.Prylli@ens.ens-lyon.fr (Loic Prylli)
Christian_Rosner@wi.maus.de (Christian Rosner)
"Arnd van Dornick"  <arnd@prz.tu-berlin.dbp.de>
Thomas.Stricker@PUFFIN.WARP.CS.CMU.EDU
240
jon@flood.COM (Jon Strabala)
Tony W H Lai <tlai@cs.toronto.edu>
lauri@telco.com
Riccardo Bettati <bettati@cs.uiuc.edu>
dg@sybase.com (David Gould)
Rick Ellis <rick@ofa123.fidonet.org>
Noel.Plouzeau@irisa.fr (Noel Plouzeau)
Jean-Michel Helary bureau TB145 (bleu) tel 7195 <Jean-Michel.Helary@irisa.fr>
Hardcore Alaskan <FSSPR@acad3.alaska.edu>
MIKAIL RUUTU <MIKRUUTU@sara.cc.utu.fi>
250
gomes@ICSI.Berkeley.EDU (Benedict A. Gomes)
fry@chilli.reo.dec.com (Brent Fry [ISVG Europe])
Blasch Helmuth <blasch@flinux.tu-graz.ac.at>
Lars Peter Fischer <fischer@iesd.auc.dk>
fn1@irz.inf.tu-dresden.de
herbison@lassie.ucx.lkg.dec.com (B.J.)
Paul Prescod <papresco@undergrad.math.uwaterloo.ca>
stasys!piano!allan@Germany.Sun.COM (Allan Brighton)
Jason R Shannon <jrs1@ukc.ac.uk>
claus@km21.zfe.siemens.de (Claus-Dieter Jaekel)
260
dbarker@mulga.awadi.com.AU (Dave Barker)
Robert DeLine <deline@parc.xerox.com>
David.Sims@UC.Edu (David Sims)
monty@intuitiveedge.com (Montgomery Zukowski)
cjitlal@asic.sc.ti.com (Colin Jitlal)



With "NO" have voted:   18
---------------------

"Eric J. Olson" <ejo@kaja.gi.alaska.edu>
"Cheryl Lins" <cheryl_lins@quickmail.apple.com>
Nigel the Lemur <nlemur@eecs.umich.edu>
Murray Nesbitt <pseudo!mjn>
Shane Hartman <shane@spr.com>
"Daniel Zirin" <ziridan@echosphere.com>
srogers@tad.eds.com (Steve Rogers)
hmpetro@mosaic.uncc.edu (Herbert M Petro)
dt4%cs@hub.ucsb.edu (David E. Goggin)
Ernest A. Cline <cline@usceast.cs.scarolina.edu>
10
Guy Umbright <vagrant@vpnet.chi.il.us>
julian@bongo.tele.com (Julian Macassey)
mhpower@Athena.MIT.EDU
JMETSAKALLAS@finabo.abo.fi
Richard MOULI <mouli@sunvox.irit.fr>
maus@fid.morgan.com (Malcolm Austin)
Georg Schwarz <georg@marie.physik.tu-berlin.de>
peirce@gumby.cc.wmich.edu (Leonard J. Peirce)

 
USENET FACT: Kill File
A set of filters setup to determine which user's posts will be read/downloaded or ignored.