Newsgroups Main » Newsgroups Directory » Computers - Non-OS » Programming and languages
Sather ( comp.lang.sather )
From mseidel@icsi.berkeley.edu Tue Apr 20 14:45:18 1993
Path: uunet!bounce-back
From: mseidel@icsi.berkeley.edu (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: tale@rodan.UU.NET
Approved: tale@uunet.uu.net
Message-ID: <1r0v59INNfda@rodan.UU.NET>
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 "sather@icsi.berkeley.edu" 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
(sather-admin@icsi.berkeley.edu)
------------------------------------------------------------------------------
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
sather-admin@icsi.berkeley.edu.
.___________________________________.
| |\
| 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
sather-request@ICSI.Berkeley.EDU.
If you have problems with Sather or related questions that are not
of general interest to the "sather" list, mail to
sather-admin@ICSI.Berkeley.EDU.
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 sather-admin@ICSI.Berkeley.EDU:
* 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: trapp@karlsruhe.gmd.de)
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:
clim@ICSI.Berkeley.EDU)
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: hws@csis.dit.CSIRO.AU)
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 mseidel@icsi.berkeley.edu Thu May 20 09:55:05 1993
Path: uunet!bounce-back
From: mseidel@icsi.berkeley.edu (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: tale@rodan.UU.NET
Approved: tale@uunet.uu.net
Message-ID: <comp.lang.sather-CFV1@uunet.uu.net>
Reply-To: sather-vote@icsi.berkeley.edu
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 "sather@icsi.berkeley.edu"
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: sather-vote@ICSI.Berkeley.EDU !!!!!!!!!!!!
---- -----------------------------
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
sather-request@ICSI.Berkeley.EDU.
If you have problems with Sather or related questions that are not of
general interest to the "sather" list, send your contributions to
sather-admin@ICSI.Berkeley.EDU.
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 sather-admin@ICSI.Berkeley.EDU:
* 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: trapp@karlsruhe.gmd.de)
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: clim@ICSI.Berkeley.EDU)
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: hws@csis.dit.CSIRO.AU)
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 mseidel@icsi.berkeley.edu Fri May 28 16:18:17 1993
Path: uunet!bounce-back
From: mseidel@icsi.berkeley.edu (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: tale@rodan.UU.NET
Approved: tale@uunet.uu.net
Message-ID: <1u3dj6INNglj@rodan.UU.NET>
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 "sather@icsi.berkeley.edu"
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: sather-vote@ICSI.Berkeley.EDU !!!!!!!!!!!!
---- -----------------------------
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
sather-admin@icsi.berkeley.edu.
.___________________________________.
| |\
| 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
sather-request@ICSI.Berkeley.EDU.
If you have problems with Sather or related questions that are not
of general interest to the "sather" list, mail to
sather-admin@ICSI.Berkeley.EDU.
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 sather-admin@ICSI.Berkeley.EDU:
* 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: trapp@karlsruhe.gmd.de)
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:
clim@ICSI.Berkeley.EDU)
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: hws@csis.dit.CSIRO.AU)
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 mseidel@icsi.berkeley.edu Wed Jun 23 21:14:02 1993
Path: uunet!bounce-back
From: mseidel@icsi.berkeley.edu (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: tale@rodan.UU.NET
Approved: tale@uunet.uu.net
Message-ID: <2052ptINNiqr@rodan.UU.NET>
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 (mseidel@icsi.berkeley.edu)
With "YES" on comp.lang.sather as a newsgroup have voted: 265
---------------------------------------------------------
Clemens Szyperski <szyperski@ICSI.Berkeley.EDU>
arnold@dstc.edu.au
Chris Bregler <bregler@ICSI.Berkeley.EDU>
davids@ICSI.Berkeley.EDU (David Petrie Stoutamire)
krste@ICSI.Berkeley.EDU (Krste Asanovic)
austenl@phibro.com
mbk@lyapunov.ucsd.edu (Matt Kennel)
probertm@nms.otc.com.au (Mark Probert)
J_Hosking@cs.aukuni.ac.nz (John Hosking)
Mike D Jenkins <mdjenkin@teaching.cs.adelaide.edu.au>
10
davidvc@sybase.com (David Van Couvering)
rice@cs.Berkeley.EDU (Daniel S. Rice)
"Daniel R. Grayson" <dan@symcom.math.uiuc.edu>
stuarth@csis.dit.csiro.au Stuart Hungerford
alk@et.msc.edu (Anthony L. Kimball)
hale@xcf.Berkeley.EDU (Greg Hale)
Drew.Whitehouse@anu.edu.au
reggie@u.washington.edu
rowley@BASE.CS.UCLA.EDU (Michael T Rowley)
John Bigboote <keller@cse.ucsc.edu>
20
Michael Brown <mpbrown@cse.ucsc.edu>
John Worfin <agu@cse.ucsc.edu>
andrew@insession.oz.au (Andrew Duckworth)
rdsdj@tuan.hpc.citri.EDU.AU (David Jones)
aki@bnlux1.bnl.gov
Kimmo.Lahtinen@fmi.fi (Kimmo Lahtinen)
Tomas.Nordstrom@sm.luth.se
reggie@u.washington.edu
nicwi@isy.liu.se (Niclas Wiberg)
Lukas Faulstich <faulstic@informatik.uni-wuerzburg.de>
30
ahmad@bsun11.zfe.siemens.de (Subutai Ahmad)
oscar@csis.dit.csiro.au
dov@menora.weizmann.ac.il (Dov Grobgeld)
rohnert@km21.zfe.siemens.de (Hans Rohnert)
Arne Frick UniKa <frick@karlsruhe.gmd.de>
regine@km21.zfe.siemens.de (Regine Meunier)
thomas@is.s.u-tokyo.ac.jp
franklin@csis.dit.csiro.au (Wm Randolph Franklin)
P{r Emanuelsson <pell@lysator.liu.se>
Franck.Hamelin@irisa.fr (Franck Hamelin)
40
>From Jean-Michel.Helary@irisa.fr
kiefer@km21.zfe.siemens.de (Konrad Kiefer)
tuijnma1@ksla.nl (Frank Tuijnman)
Colin McPhail <colin@epcfta.edinburgh.ac.uk>
fb@km21.zfe.siemens.de (Frank Buschmann)
Hermann.Haertig@gmd.de
jk@km21.zfe.siemens.de (Juergen Knopp)
Martin Trapp <trapp@karlsruhe.gmd.de>
chaillou@ilog.ilog.fr (Jerome Chailloux)
Lionel Mallet <mallet@skye.simpolis.fr>
50
Gerd Aschemann <ascheman@isa.informatik.th-darmstadt.de>
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.
NewsDemon® is a trademark of K&L Technologies, Inc.
2001 - 2012 © Copyright NewsDemon.com