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

Sather ( comp.lang.sather )
spacer NewsDemon Usenet 2024 Access
 
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])  ------------------------------------------------------------------------------  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 4524+      * 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 R4524+ 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 4524+        * 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 R4524+ 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 4524+      * 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 R4524+ 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  <[email protected]> Fred GUIDEC <[email protected]> David Waelder <[email protected]> [email protected] Steve Renals Jean-Marc Jezequel <[email protected]> Patrick Ferrante <[email protected]> [email protected] (Kai Toedter) [email protected] (Joachim Hollman) [email protected] (Carlos Sanchez Tarnawiecki) 60 [email protected] (Brian Burton) [email protected] (David Adrien Tanguay) [email protected] (Andre van der Vlies) [email protected] (James A. Mullens) [email protected]  (Dan Dill) Mark Pralat <[email protected]> "Timothy J. Burr" <[email protected]> [email protected] (Bruce Feist) [email protected] (Mark Fischer) [email protected] Christophe Gransart 70 Paul Crowley <[email protected]> [email protected] (Jerry Feldman) probert%[email protected] (Dave Probert) [email protected] (Stephan Murer) [email protected] (Roger Browne) Brian Rogoff <[email protected]> Joachim Beer <[email protected]> [email protected] (Martina-Maria Seidel) [email protected] 80 Ari Juhani Huttunen <[email protected]> [email protected] David Garcia <[email protected]> [email protected] (Gary Kacmarcik) "Xiling ZHOU" <[email protected]> Mike Crooks <[email protected]> [email protected] (Stephen M. Omohundro) [email protected] (Arthur Gabe) [email protected] (Tim Wood) [email protected] (Hugh Emberson) 90 [email protected] (Rumi Zahir) [email protected] (Glenn Crocker) Albert Kiruki <[email protected]> Gunther Siegel <[email protected]> Miguel Canales <[email protected]> [email protected] (Philipp Faerber) [email protected] (Holger Duerer) [email protected] Lutz Prechelt  [email protected]> [email protected] (Daniel Scherer) 100 Jeff Putnam <[email protected].nmt.edu> <[email protected]> "G.Isenmann" <[email protected]> Hery Rakotoarisoa <[email protected]> [email protected] (Urs Hoelzle) Michael C Comerford <[email protected]> [email protected] (Steve Baum) Rozendaal DL <[email protected]> A Satish Pai <[email protected]> Robert Daniel Kennedy <[email protected]> 110 dbenson%[email protected] Gordie Freedman <[email protected]> [email protected] (Steve Tynor) [email protected] (Matthew Brand) [email protected] (Guhan Viswanathan) [email protected] [email protected] (Roger L Hale) [email protected] "Kandiah Thananchayan" <[email protected]> [email protected] (Kai Getrost) 120 Jerry B Altzman <[email protected]> [email protected] (Stefan Aberg) [email protected] (Harris, Jed) [email protected] (Jason Smith) [email protected] (Mike Geipel) Clive Murphy <[email protected]> [email protected] (Don Garrett) Mike McGann <[email protected]> [email protected] (Martin Cracauer) [email protected] (Ian Ringrose) 130 [email protected] (Jon Vander Hill) [email protected] (Andy Hooper) Jean-Pierre Dussault <[email protected]> Jac Kersing <[email protected]> James da Silva <[email protected]> [email protected] (William Fitzgerald) [email protected] (Montgomery Zukowski) [email protected] (Robert Eaglestone) [email protected] (Richard H. Miller) [email protected] (Jay Sachs) 140 [email protected]  Jeff A. Bilmes  [email protected] (Chu-Cheow Lim) [email protected] (Randall K. Smith) [email protected] (Blaine Crowther) [email protected] (Norman Packard) [email protected] (Greg Moberg @ws043) Don Griffiths <[email protected]> [email protected] (Sean Fitts) William Stuart-smith <[email protected]> [email protected] (Bernd Wiegmann) 150 David Li <[email protected]> [email protected] (Bernd Karstens) Raphael Manfredi <[email protected]> [email protected] (Koichiro Mori) Ed Wilson <[email protected]> [email protected] (Frank Horowitz) [email protected] (Helge Schulz) Joerg-Eric Schulz <[email protected]> Philippe Mussi <[email protected]> Stefan <[email protected]> 160 [email protected] (Ed Vandergriff) [email protected] (Theo Petersen) Phil Koop <[email protected]> [email protected] (Chua Hak Lien) Jesus Eugenio S nchez Pe~a <[email protected]> [email protected] (Greg Bengeult) Carl Bryan Burch <[email protected]> [email protected] Philip Santas <[email protected]> [email protected] (Andrew Cagney) 170 Motoyuki Kasahara <[email protected]> Joachim Weisbrod   <[email protected]> "Dr. Wolf Zimmermann" <[email protected]> [email protected] (Anders Blomdell) Dominique Colnet <[email protected]> [email protected] Thilo Kielmann <[email protected]> [email protected] (Dan A. Burkhard) Konrad Hinsen [email protected]> [email protected] (Alan Bleier) 180 [email protected] Chakravarthy Kolli <[email protected]> [email protected] (George Elkins) [email protected] (P. Dubois) Per Abrahamsen <[email protected]> [email protected]  Edward Seidl [email protected] (Jim Jensen) probert%[email protected] (Dave Probert) [email protected] Heinz.Schmidt [email protected] 190 [email protected] (Patrick Moran) [email protected] (Timo Metzemakers) [email protected] (John Gibbons) [email protected] (Baerrach bonDierne) [email protected] (Jan Tveiten ) Christian Millour <[email protected]> manfred jobmann <[email protected]> [email protected] (Franco Mazzanti) Jonathan Bachrach <[email protected]> [email protected] (Brian Burton) 200 Piet van Oostrum <[email protected]> [email protected] [email protected]> Bill Lenhart <[email protected]> [email protected] (Gerd Truschinski) [email protected] [email protected] (Tobias Murer) Sinclair M C <[email protected]> Knut C. Landmark <[email protected]> [email protected] (Doug Ridgway) 210 [email protected] (Joshua Jordan Purinton) [email protected] (Ralph Hayward) [email protected] (Doug Landauer) >From [email protected]  Michel RIVEILL <[email protected]> [email protected] (Alain Rogister) "a.vanemmenis" <[email protected]> [email protected] (Fraser Young) Igor Metz <[email protected]> Bernhard Rumpe <[email protected]> 220 [email protected] (Greg Phillips) [email protected] (Kai Bartels) [email protected] (Stewart Gilles) Kenneth R. Ballou <[email protected]> Wolfgang Goerigk <[email protected]> [email protected] (Dave Mack) [email protected] (Willy Jacobs) David Muir Sharnoff <[email protected]> Pekka Yrjola <[email protected]> [email protected] (Eric S Johansson) 230 [email protected] (Mark Linimon) [email protected] [email protected] William Stuart-smith <[email protected]> [email protected] (Robert Hutchison) [email protected] (Paulo Sergio Almeida) [email protected] (Loic Prylli) [email protected] (Christian Rosner) "Arnd van Dornick"  <[email protected]> [email protected] 240 [email protected] (Jon Strabala) Tony W H Lai <[email protected]> [email protected] Riccardo Bettati <[email protected]> [email protected] (David Gould) Rick Ellis <[email protected]> [email protected] (Noel Plouzeau) Jean-Michel Helary bureau TB145 (bleu) tel 7195 <[email protected]> Hardcore Alaskan <[email protected]> MIKAIL RUUTU <[email protected]> 250 [email protected] (Benedict A. Gomes) [email protected] (Brent Fry [ISVG Europe]) Blasch Helmuth <[email protected]> Lars Peter Fischer <[email protected]> [email protected] [email protected] (B.J.) Paul Prescod <[email protected]> [email protected] (Allan Brighton) Jason R Shannon <[email protected]> [email protected] (Claus-Dieter Jaekel) 260 [email protected] (Dave Barker) Robert DeLine <[email protected]> [email protected] (David Sims) [email protected] (Montgomery Zukowski) [email protected] (Colin Jitlal)    With "NO" have voted:   18 ---------------------  "Eric J. Olson" <[email protected]> "Cheryl Lins" <[email protected]> Nigel the Lemur <[email protected]> Murray Nesbitt  Shane Hartman <[email protected]> "Daniel Zirin" <[email protected]> [email protected] (Steve Rogers) [email protected] (Herbert M Petro) dt4%[email protected] (David E. Goggin) Ernest A. Cline <[email protected]> 10 Guy Umbright <[email protected]> [email protected] (Julian Macassey) [email protected] [email protected] Richard MOULI <[email protected]> [email protected] (Malcolm Austin) Georg Schwarz <[email protected]> [email protected] (Leonard J. Peirce)  
 
USENET FACT: Big-8
BIG-8 hierarchies are the 8 traditional top hierarchies of the Usenet. See the following page for more