Newsgroups: comp.object,comp.answers,news.answers Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!swrinde!sdd.hp.com!vixen.cso.uiuc.edu!uchinews!news From: Bob Hathaway Subject: Comp.Object FAQ Version 1.0.5 (12-13) Part 7/8 Message-ID: <1993Dec14.044957.18615@midway.uchicago.edu> Followup-To: comp.object Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology Sender: news@uchinews.uchicago.edu (News System) Organization: Geodesic Systems Date: Tue, 14 Dec 1993 04:49:57 GMT Approved: news-answers-request@MIT.Edu Lines: 1508 Xref: senator-bedfellow.mit.edu comp.object:13854 comp.answers:2995 news.answers:15753 Archive-name: object-faq/part7 Last-Modified: 12/13/93 Version: 1.0.5 Arjuna Mailing List To enable us to help people using Arjuna, an electronic mail list has been setup. You can join the Arjuna mailing list by sending an e-mail message to "mailbase@mailbase.ac.uk" containing: join arjuna For example : join arjuna John Smith Mail messages can then be sent to "arjuna@mailbase.ac.uk", for distribution. Arjuna Project Team The Department of Computing Science, The University, Newcastle upon Tyne. NE1 7RU, UK. Fax: +44 91 222 8232 e-mail: arjuna@newcastle.ac.uk anonymous ftp: arjuna.ncl.ac.uk (128.240.150.1) EMAIL = arjuna@newcastle.ac.uk POST = Computing Laboratory, The University, Newcastle upon Tyne, UK NE1 7RU VOICE = +44 91 222 8067 FAX = +44-91-222-8232 Subject: Arjuna papers announcement Date: Tue, 8 Jun 1993 16:47:02 GMT This is to announce the availability of most Arjuna related papers and theses via anonymous ftp from arjuna.ncl.ac.uk. These papers are available in both US Letter and European A4 standards in postscript and should now print on systems. Any problems in printing should be directed to arjuna@newcastle.ac.uk. Since there are too many papers to describe in one posting there is an index available in /pub/Arjuna/Index which contains the abstracts from all of the papers/theses and their locations within the ftp hierarchy. >3 BOS (prototyping) What: BOS From: Sean.Levy@cs.cmu.edu Date: 23 Apr 92 18:07:32 GMT [For readers of comp.object and self-interest, BOS is a prototype-based object system that I have, er, prototyped in Tcl. It is available via anon FTP to monch.edrc.cmu.edu under /usr0/snl/archive/bos-1.2.tar.Z (you have to cd to /usr0/snl/archive first and then get the file, due to CMU security hacks in ftpd). I thought that this would be of interest to comp.object and self-interest, so I'm cross-posting/mailing --S] Note: I play very fast and loose with the terminology of OOP to get my point across. I apologize if I offend any sensibilities, and will clarify what I say if it is obfuscated by my use of terms. >4 G++ for DOS (Many sites) :From: DJ Delorie :Newsgroups: gnu.announce,gnu.misc.discuss : DJGPP 1.10 is now available! : : : --- DJGPP - G++ for MSDOS/386 --- :djgpp is normally uploaded to: : omnigate.clarkson.edu 128.153.4.2 pub/msdos/djgpp : math.utexas.edu 128.83.133.215 pub/msdos/djgpp(*) : ftp.uni-koeln.de 134.95.128.208 : msdos/gnuprogs/djgpp (*) : ftp.eb.ele.tue.nl 131.155.40.15 : pub/pc/gnu/gcc-pl* & gcc-newst : wowbagger.pc-labor.uni-bremen.de 134.102.228.9 pub/msdos/djgpp : src.doc.ic.ac.uk 146.169.2.1 ibmpc/djgpp : ftp.mcc.ac.uk 130.88.200.7 pub/djgpp : UK.AC.MCC.FTPJ (JANET) user djgpp :(*) Please do not access during working hours (7am - 6pm their local time) >5 cooC (Concurrent, OO C ext.) From: maeda@isl.rdc.toshiba.co.jp (Ken-ichi Maeda) Subject: cooC FTP release (2nd posting) Date: 2 Jul 93 15:13:11 Organization: TOSHIBA R & D Center, Kawasaki, JAPAN. We are pleased to announce the release of new object oriented language based on C. The language has support for concurrent object execution with synchronous or asynchronous message pssaing and wait when necessary reply handling. The language known as cooC (concurrent object oriented C) is available by anonymous FTP for research purposes. FTP Site: tsbgw.isl.rdc.toshiba.co.jp (133.196.1.11) File: pub/toshiba/cooc-beta.1.1.tar.Z The released version of cooC employs SunOS(TM) LWP (light weight process), to obtain concurrent execution. The release consists of the language translator (cooC->C), a runtime library (SunOS(TM)), a concurrent object based debbuger, an example groupware application (SharedDraw) and some technical papers. BECAUSE THE SYSTEM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR ANY PART OF THE SYSTEM. TOSHIBA Corporation while making cooC free for research, retains copyright. For further detail, please refer to COPYRIGHT notice in the package. Any questions and/or comments are welcome at the following e-mail address. cooc@isl.rdc.toshiba.co.jp -- -------------------------------------------------------------------- Ken-ichi Maeda Communication and Information Systems Research Lab. II TOSHIBA Research & Development Center 1, Komukai Toshiba-cho, Saiwai-ku, Kawasaki 210, JAPAN TEL. (+81- or 0)44-549-2237 FAX. (+81- or 0)44-520-1841 -------------------------------------------------------------------- >6 FMPL (prototyping) What: Interpreter for FMPL of Accardi, Release 1 From: blojo@xcf.berkeley.edu (Jon Blow) Date: 2 Jun 92 08:42:26 GMT An interpreter for FMPL of Accardi, Release 1 is now available for ftp at xcf.berkeley.edu:src/local/fmpl/. *FMPL is a prototype-based object-oriented programming language. *FMPL possesses lambda-calculus based constructs. *FMPL is an event-driven language; the events it responds to are mainly based on the behavior of input/output streams, not only within the unix domain but across the internet as well. *FMPL supports "pretty"-printing of internally-represented code back into readable form. *FMPL is an experimental language developed at the Experimental Computing Facility of the University of California, Berkeley. This release is something of a beta test since the language has not been widely used outside Berkeley. It is hoped that this release will draw useful comments and suggestions from the world at large that will help in improving future versions of FMPL. >7 MAX (visual OO) From: fingerhu@ircam.fr (Michel Fingerhut) Subject: IRCAM DSP software for DEC/ALPHA and DEC/MIPS Organization: Inst. de Recherche et Coordination Acoustique/Musique, Paris Date: Fri, 13 Aug 93 11:25:23 GMT ftp.ircam.fr:/pub/IRCAM/programs contains some of the IRCAM-developed software packages (in demo version; see further down for availability of the fully functional versions), including runnable binaries for both the DEC/ALPHA (osf1) and DEC/MIPS (ultrix) architectures, and soon available on other platforms (SGI and Macintosh). MAX MAX is a visual, object-oriented, programming language, initially designed for interactive musical performance, but which is suitable for digital signal processing as well as real-time control. It allows interconnecting of oscillators and filters, building custom controller modules and simulation units all from a core collection of signal processing objects. First developed by Miller Puckette at IRCAM in late 1986 to control the IRCAM 4X, it was later implemented on the Apple Macintosh as a graphical programming environment for MIDI applications. This version has been extended by the Opcode company in Palo Alto, CA (USA), and is available through them. The Alpha version (and its demo-only subset) is based on the NeXT version, where it is used to control the IRCAM-designed ISPW board. This card, based on two Intel i860 microprocessors, handles numerically-intensive real-time operations. To date, it has been extensively used in live performance of full-length musical compositions (see some references in the MAX/doc directory), as well as in scientific and experimental applications requiring real-time control. SVP SVP (``Super Vocodeur de Phase'') is a signal processing tool which was designed and developed at IRCAM by Gilles Poirot and Philippe Depalle. It is a full system for the analysis and synthesis of sound, whose core is a phase vocoder, and which comprises several modules for analysis (FFT, LPC..), filtering (band modes, surface modes...), time- scaling, mixing, spectral combination, cross-synthesis and amplification, which can be combined in multiple ways. UDI UDI is a library of C routines which provides a coherent software approach for developing and maintaining digital signal processing algorithms on stand-alone workstations or on host/array processor configuration. Initially designed for sound signal analysis and synthesis, it can be used by any application which does vector math calculation. It provides functions ranging from elementary vector and matrix operations to more specific DSP operations, such as, but not limited to, FFT, least-square, linear prediction coding, discrete cepstrum and pitch detection. UDI was actually used in implementing SVP. HOW TO RETRIEVE The following example contains underlined text. If it does not print nicely, use your favorite editor in order to remove all occurrences of "^H_" (control-H followed by underscore). Connect via ftp to ftp.ircam.fr. Engage into the following dialog (the underlined text is the reply you should provide 220 ftp FTP server (Version 6.17 Thu Mar 11 08:30:51 MET 1993) ready. Name (ftp:host): f_t_p_ (or: a_n_o_n_y_m_o_u_s_) Passwd: l_o_g_i_n_@_y_o_u_r_m_a_c_h_i_n_e_ (see NOTE further down) 230-... 230-(informational messages, please read!) 230-... ftp> c_d_ _p_u_b_/_I_R_C_A_M_/_p_r_o_g_r_a_m_s_ 250 CWD command successful. ftp> g_e_t_ _R_E_A_D_M_E_ 200 PORT command successful. 150 Opening ASCII mode data connection for README (nnn bytes). 226 Transfer complete. local: README remote: README nnn bytes received in mmm seconds (xxx Kbytes/s) ftp> b_i_n_ 200 Type set to I. ftp> g_e_t_ _s_v_p_._t_a_r_._g_z_ (or u_d_i_._t_a_r_._g_z_ or m_a_x_._t_a_r_._g_z_) ... ftp> q_u_i_t_ NOTE The ftp server requires you to give as password something of the form l_o_g_i_n_@_h_o_s_t_ where l_o_g_i_n_ is your login name (or account name, or user information) and h_o_s_t_ is the fully-qualified name of the machine you are currently calling from, which is not necessarily the one on which you get your mail. If you mistype it, the ftp server will advise you with an informative error message. AVAILABILITY For information on availability of these and other IRCAM tools with full functionality and documentation, and/or licensing of source code, as well as IRCAM publications (technical/scientific reports) please contact (in french or english, preferably): Mr. Vincent Puig Directeur de la Valorisation IRCAM 31, rue Saint-Merri F-75004 Paris, France email: puig@ircam.fr FAX: +33 1 42 77 29 47 Additional info can be found in the README file in the above directory. REPORTING PROBLEMS AND GETTING HELP ... in retrieving the software and/or in running it: please send email to manager@ircam.fr >8 O'small (OO lang for teaching) From: hense@sol.cs.uni-sb.de (Andreas Hense) Subject: *** NEW O'small compiler available by ftp !!! *** Date: 25 Jun 1993 13:54:35 GMT Organization: Universitaet des Saarlandes,Rechenzentrum O'small - THE object-oriented language for teaching --------------------------------------------------- (Announcement of a new compiler) *** An object-oriented language for teaching? Depending on which aspects of object-orientation you want to convey you may choose your teaching language. If you want to teach the aspect of software reuse and nice graphical user interfaces, you should choose Smalltalk. If you want to show students how to program in a best selling language you should choose C++. *** In which case should I choose O'small? You should consider O'small if you believe that computer languages should have a GOOD FORMAL SEMANTICS. Everyone will agree that a language needs a formal semantics. Otherwise, your program will yield different results on different implementations. A good formal semantics does not only serve the purpose of precisely defining what the results of your programs are, it also gives insights about the nature of the language. You should consider O'small if you do not want to waste time on unnecessary details. O'small is CONCISE. Its syntax and semantics takes no more than one page (if you choose the right font). Its syntax is similar to more traditional languages. O'small has been used in a lecture showing the differences between wrapper semantics (denotational) and method lookup semantics (operational). O'small is FREE! Up to now, there has only been an O'small interpreter written in Miranda [Hen91b]. This interpreter is directly based on the denotational semantics of O'small [Hen91d]. The interpreter itself is available by ftp. However, you need Miranda in order to run it. Now, there is a NEW IMPLEMENTATION of O'small based entirely on EASILY AVAILABLE SOFTWARE. This software is not free but it does not cost anything. The new implementation is based on an abstract machine [Boe93]. You can MODIFY the language and have your students make experiments with it. The source code of the abstract machine and the specifications for the parser and scanner generators are available. Using these generators you can make experiments for your own research in statical analysis of object-oriented languages. *** I would like to TRY O'small You get the implementation by anonymous internet ftp. The following table gives the ftp connection information. Host: Net Address: Directory: ------------------------------------------------------------- cs.uni-sb.de 134.96.7.254 /pub/osmall/machine The directory /pub/osmall/machine contains the files README ANNOUNCE this file HowToGetML oma.1.00.tar.Z compressed tar-file *************************************************************************** NOTE: Ftp should be put into binary mode before transferring the compressed tar file. *************************************************************************** Here is a sample dialog: ftp ftp> open cs.uni-sb.de Name: anonymous Password: ftp> binary ftp> cd /pub/osmall/machine ftp> get README ftp> get ANNOUNCE ( ftp> get HowToGetML ) ftp> get oma.1.00.tar.Z ftp> close ftp> quit If you have a Sun 4 or a SPARC you can use the existing executable files. Otherwise, you need 'sml-yacc', 'sml-lex' and 'sml-noshare'. Read 'HowToGetML' to obtain them. Instructions on using the machine are contained in the file README. References [Boe93] Christoph Boeschen. Christmas - An abstract machine for O'small. Master's thesis, Universit"at des Saarlandes, Fachbereich 14, June 1993. [Hen91b] Andreas V. Hense. An O'small interpreter based on denotational semantics. Technical Report A 07/91, Universit"at des Saarlandes, Fachbereich 14, November 1991. [Hen91c] Andreas V. Hense. Type inference for O'small. Technical Report A 06/91, Universit"at des Saarlandes, Fachbereich 14, October 1991. [Hen91d] Andreas V. Hense. Wrapper semantics of an object-oriented pro- gramming language with state. In T. Ito and A. R. Meyer, editors, Theoretical Aspects of Computer Software, volume 526 of Lecture No- tes in Computer Science, pages 548-568. Springer-Verlag, September 1991. [Hen93] Andreas V. Hense. Denotational semantics of an object-oriented programming language with explicit wrappers. Formal Aspects of Computing, 5(3), 1993. to appear. [HS92] Andreas V. Hense and Gert Smolka. A verification of extensible record types. In Zhongzhi Shi, editor, Proceedings of the IFIP TC12/WG12.3 International Workshop on Automated Reasoning, pages 137-164, Beijing, P.R. China, 13-16 July 1992. Internatio- nal Federation for Information Processing, Elsevier, North-Holland, Excerpta Medica. [HS93] Andreas V. Hense and Gert Smolka. Principal types for object- oriented languages. Technical Report A 02/93, Universit"at des Saar- landes, Fachbereich 14, June 1993. >9 OBJ3 (OO lang) What: Release 2.0 of OBJ3 (needed for FOOPS and OOZE, concurrent OOP) Date: Thu, 4 Jun 92 15:07:26 BST From: Paulo.Borba@prg.oxford.ac.uk OBJ is available from SRI, see the message below; prototypes implementations of FOOPS (without the concurrent extension) and OOZE are due to the end of the year, but for both you also need OBJ. Unfortunately, I don't have any document about the FOOPS extension now, but probably by the end of the year. I will send it to you as soon as possible. What: Release 2.0 of OBJ3 is now available From: winkler@csl.sri.com (Timothy Winkler) Date: 6 Apr 92 08:35:40 GMT Release 2.0 of OBJ3 is now available! Improvements in this version include some language extensions and additional theorem proving features. In addition, an effort has been made to speed up the implementation; rewriting is often twice as fast as in the original implementation. We are including the AKCL patches from the University of Texas at Austin in the distribution, which are necessary for maintaining the portability of OBJ3 and also improve its efficiency. In addition, we are distributing a SPARC version of OBJ3. OBJ3 has pattern matching modulo associativity, commutativity, and identity. New: the system automatically computes conditions for rules involving matching modulo identity that are used to prevent obvious non-termination problems. Also new to this version of OBJ3 is a facility for controlled rewriting. This provides substantially increased support for the use of the system for equational theorem proving. To receive the OBJ3 distribution tape or an OBJ3 license, send a request to: Judith Burgess (OBJ3) Computer Science Laboratory SRI International 333 Ravenswood Ave. Menlo Park, CA 94025-3493, USA Telephone: (415) 859-5924 Fax: (415) 859-2844 email: obj3dist@csl.sri.com Be sure to give us your postal mailing address. Then we will send you the OBJ3 Information Form, and License Agreement, with instructions on how to fill them out. (A KCL license form will also be included.) When you return them to us, appropriately filled out and signed, we will send you the tape, somedocumentation, and, in case you are requesting a tape, an invoice for $150.00 plus any required taxes. If you already have an OBJ3 license, then you don't need to get a new license, but, if you are requesting a tape from SRI, you are asked to pay the above distribution fee. It is also possible to get a license for OBJ3 at no charge from SRI and then get the OBJ3 distribution itself from some third party also having a license. Jose Meseguer, Timothy Winkler, and Patrick Lincoln Computer Science Laboratory SRI International 333 Ravenswood Avenue Menlo Park, California 94025, USA Joseph Goguen Programming Research Group Computing Laboratory Oxford University 11 Keble Road Oxford OX1 3QD, United Kingdom >10 OBST (lang, perst, OODB) What: OBST (Version: OBST3-2) From: stone@fzi.de Date: 19/3/92 [ Formerly, we used the acronym SOS, which led to a conflict with an object oriented operating system of the same name. Therefore we changed the name to OBST ("Obst" is the German word for "fruit"). As many people already use SOS (OBST) we did not change internal things like class names, environment variables and so on. ] The persistent object management system OBST was developed by Forschungszentrum Informatik (FZI) as a contribution to the STONE project. This project (supported by grant no. ITS8902A7 from the BMFT, i.e. the German Ministry for Research) aims at the development of a software engineering environment for education purposes and is carried out as a joint project of nine german universities and research institutions. An essential feature of STONE is that the object oriented paradigm is pursued consequently as a key concept. OBST is the common persistent object store for all tools within the STONE environment. The OBST data model can be characterized by the following properties: * Schema definition language syntactically similar to C++ * Support of multiple inheritance * Generic classes * Distinction between public, protected, and private methods * Redefinition of methods * Overloading of methods Schemas are compiled by the OBST schema compiler. The compilation results are instances of classes of the meta schema. From these instances in a next step interfaces to different programming languages can be generated. At present the C++ language binding is implemented, interfaces to Lisp and other languages are planned. Objects are stored in so-called containers. The container an object belongs to is determined at the time of object creation and fixed throughout the object's lifetime. Containers are the units of clustering, synchronization, and recovery. Objects can be referenced by other objects across container boundaries. OBST provides a mechanism to incrementally load methods. This enables programs to deal with objects whose type is defined after the program itself has been developed. This is useful in systems that provide for inheritance and it supports schema evolution. Since end 1990 the first prototype of OBST is available and is shipped to interested universities and research institutions. The system comes with the schema compiler, a library of predefined classes, a graphical object browser, the structurer and flattener and the OShell, and all manuals. Structurer and Flattener is a tool to build objects from bytestrings and flatten objects down to bytestrings. It is intended to be used when coupling UNIX tools to the object management system. The user defines a grammar that describes her objects. Afterwards, the structurer parses an ascii text according to the given grammar and creates an OBST object structure that represents the corresponding parse tree. The flattener does the inverse transformation, that means it generates an ascii text from a given OBST object structure according to the given grammar. OShell is a tool which provides interactive access to the OBST object base. There is a language called OSL which is based on the lambda calculus and defines the interface to the OShell tool. For the prototype's installation a C++ compiler (GNU g++ 1.37 or later or AT&T 2.0/2.1) and the X-Windows system (currently X11R4) for the graphical tools are required. Installation is well-tried on SUN 3/* and SUN 4/* systems and should be no problem on other UNIX machines, too. -------------------------------------------------------------------- For more information please mail to: Forschungszentrum Informatik (FZI) STONE Projekt Haid-und-Neu-Strasse 10-14 D-7500 Karlsruhe 1 Germany or email to: stone@fzi.de Phone: ++49-721-9654-601 Fax: ++49-721-9654-609 Teletex: 721 190 fziKA The OBST system is available via anonymous FTP from gate.fzi.de [141.21.4.3]. The system can be found in the directory /pub/OBST. Sites interested in getting information about new OBST developments are welcome to register in our mailing list by sending an email with subject "obst-mailing-list" to stone@fzi.de. >11 OOT (OO Turing demo) What: OOT From: holt@turing.toronto.edu (Ric Holt) Date: 26 Apr 93 20:14:43 GMT OBJECT ORIENTED TURING: DEMO AVAILABLE VIA FTP OOT (Object Oriented Turing) is a programming language that has been developed at the University of Toronto. An OOT demo, which includes the fully implemented language, is available for Sun/4's running X windows. See below for instructions to copy the demo to your site. OOT supports the standard OOPL features of information hiding, classes, polymorphism and generics, as well as the usual features in C and Pascal style languages. It also supports concurrency, exception handling and system programming (pointer arithmetic, bit manipulation, etc). The OOT environment is designed for teaching Computer Science. It is being used in introductory programming courses, courses on OO concepts, compiler courses, OS courses, etc. The OOT environment is fully integrated, with multi-window editing, turbo speed compiler, integrated color graphics, GUI user interface, implicit MAKE, on-line manual, integrated demos, etc. The system includes an experimental CASE tool with an interface browser and a visual system browser. >12 Sather (simple Eiffel) What: SATHER Sather is under development at the International Computer Science Institute. Sather has clean and simple syntax, parameterized classes, object-oriented dispatch, multiple inheritance, strong typing, and garbage collection. The compiler generates efficient and portable C code which is easily integrated with existing code. The initial beta test release of the language was in May, 1991. The compiler, debugger, Emacs development environment, documentation, and library classes are available by anonymous ftp from "icsi-ftp.berkeley.edu". "sather@icsi.berkeley.edu" is a mailing list for discussing aspects of Sather and "sather-admin@icsi.berkeley.edu" should be used for bug reports and requests to be added or deleted from the mailing list. Sather is based on Eiffel but is more concerned with efficiency and less with some of the formal and theoretical issues addressed by Eiffel. The language is much smaller than the current Eiffel, it eliminates over 40 keywords and simplifies the syntax and inheritance rules. Like Eiffel, Sather code is compiled into portable C and efficiently links with existing C code. The Sather compiler is written in Sather and has been operational for almost a year, though it is still being improved. Preliminary benchmarks show a performance improvement over Eiffel of between a factor of 4 and 50 on basic dispatching and function calls. On the benchmarks used at Stanford to test Self (including 8 queens, towers of hanoi, bubblesort, etc), Sather is even slightly faster than C++. The Sather compiler and libraries are publicly available under a very unrestrictive license aimed at encouraging contribution to the public library without precluding the use of Sather for proprietary projects. The goal is to establish a repository for efficient, reusable, well written, publicly available, classes for most of the important algorithms in computer science. There are currently about 120 classes in the library. The libraries are growing quickly and will collect together classes from many authors under the same unrestrictive license. A GNU emacs development environment for Sather is available. A debugger based on gdb from the Free Software Foundation is also available. A parallel version of Sather for shared memory machines called "Psather" is also under development. From the Sather FAQ, August 16, 1993 (See Section 1.24): 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, 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. >13 Self What: Self 2.0 Release From: hoelzle@Xenon.Stanford.EDU (Urs Hoelzle) Date: 10 Aug 92 21:08:25 GMT Announcing Self Release 2.0 The Self Group at Sun Microsystems Laboratories, Inc., and Stanford University is pleased to announce Release 2.0 of the experimental object-oriented exploratory programming language Self. Release 2.0 introduces full source-level debugging of optimized code, adaptive optimization to shorten compile pauses, lightweight threads within Self, support for dynamically linking foreign functions, changing programs within Self, and the ability to run the experimental Self graphical browser under OpenWindows. Designed for expressive power and malleability, Self combines a pure, prototype-based object model with uniform access to state and behavior. Unlike other languages, Self allows objects to inherit state and to change their patterns of inheritance dynamically. Self's customizing compiler can generate very efficient code compared to other dynamically-typed object-oriented languages. Self Release 2.0 runs on Sun-3's and Sun-4's, but no longer has an optimizing compiler for the Sun-3 (and therefore runs slower on the Sun-3 than previous releases). This release is available free of charge and can be obtained via anonymous ftp from self.stanford.edu. Unlike previous releases, Release 2.0 includes all source code and is legally unencumbered (see the LICENSE file for legal information.) Also available for ftp are a number of papers published about Self. Finally, there is a mail group for those interested in random ramblings about Self, self-interest@self.stanford.edu. Send mail to self-request@self.stanford.edu to be added to it (please do not send such requests to the mailing list itself!). The Self Group at Sun Microsystems Laboratories, Inc. and Stanford University >14 C++ gram, etc. What: ftp site for C++ material From: schrod@iti.informatik.th-darmstadt.de (Joachim Schrod) Date: 27 May 92 22:32:35 GMT There were a lot of questions about C++ material in the last time and some announcements which involved our ftp server. ftp.th-darmstadt.de [130.83.55.75] /pub/programming/languages/C++ At the moment we have: -- documentation and assorted stuff C++ products list as announced by Saumen K Dutta (in a subdirectory!) C++ YACC grammar, ET++ tutorial, summaries from the Net, sources from James Coplien's book (idioms...), etc. -- class libraries NIHCL (original, persistent for ObjectStore, with g++ 1.4x changes) COOL, OATH, RogueWave vector, ET++, RPC package, a package for sockets, awe (thread package) -- tools class browser (for GNU Emacs), indent++, yacc+, template processor of Brad Cox[sp?], DEC garbage collector More stuff is always welcome. (Btw, Interviews and Motif C++ wrapper classes are to be found in the /pub/X11 subtree.) >15 ConceptBase (OODB, reqkey) What: ConceptBase See APPENDIX B. A four week test-version of ConceptBase V3.1 is available on the FTP server ftp.informatik.rwth-aachen.de in the directory pub/CB. For running the ftp version you must ask for a key by email. >16 C++ OODB Exodus (Storage Man, perst) From: darrenp@dibbler.cs.monash.edu.au (Daz) Subject: Re: Class libraries for accessing RDBs ? Organization: Monash University, Melb., Australia. Date: Thu, 17 Jun 1993 23:53:22 GMT shekar@gizmo.CS.MsState.Edu (Chandrashekar Ramanathan) writes: >Hello, > Are there any shareware/ftp'able C++ class libraries that >provide Relational Database access? I would also appreciate any >pointers (ideas/articles/journals) to the various issues that one has >to consider in designing such library. Ok, I'm not sure if it's exactly what you want, but it's a database, it's fully written in c++ with classes etc, and it's out for beta testing. Check out pippin.cs.monash.edu.au:pub/export/diamond-0.1.2.tar.Z and please mail darrenp@dibbler.cs.monash.edu.au if you decide to play with it. Daz. -- Darren Platt, Department of Computer Science darrenp@dibbler.cs.monash.edu.au Monash University, Clayton Melbourne, Victoria, Australia >17 Exodus (Storage Man, perst) What: Exodus project software (Storage Manager & GNU E) From: zwilling@caseus.cs.wisc.edu (Mike Zwilling) Date: 16 Jul 92 04:53:19 GMT In the past there have been discussions in comp.object and comp.databases about persistent storage for object-oriented databases and programming languages. As you may know, the EXODUS Database Toolkit project at the University of Wisconsin has researched these issues and others for a number of years. The purpose of this note is to inform you that the software from the EXODUS project is freely available via anonymous ftp. The EXODUS software includes the EXODUS Storage Manager and the compiler for the E persistent programming language. Also included is documentation, and a suite of test programs for both components. This note briefly describes the software and explains how to obtain it. We currently support DECstation 3100s/5000s and SPARC based workstations. Others have ported the code to HP700s and IBM RS6000s. The EXODUS Storage Manager is a client-server object storage system which provides "storage objects" for storing data, versions of objects, "files" for grouping related storage objects, and indexes for supporting efficient object access. A storage object is an uninterpreted container of bytes which can range in size from a few bytes to hundreds of megabytes. The Storage Manager provides routines to read, overwrite, and efficiently grow and shrink objects. In addition, the Storage Manager provides transactions, lock-based concurrency control, and log-based recovery. GNU E is a persistent, object-oriented programming language developed as part of the Exodus project. GNU E extends C++ with the notion of persistent data, program level data objects that can be transparently used across multiple executions of a program, or multiple programs, without explicit input and output operations. GNU E's form of persistence is based on extensions to the C++ type system to distinguish potentially persistent data objects from objects that are always memory resident. An object is made persistent either by its declaration (via a new "persistent" storage class qualifier) or by its method of allocation (via persistent dynamic allocation using a special overloading of the new operator). The underlying object storage system is the Exodus storage manager, which provides concurrency control and recovery in addition to storage for persistent data. The current release of GNU E is based on gcc/g++ version 2.2.2, and is upward compatible with C++ as implemented by that compiler. A bibliography of EXODUS related papers can be obtained from the ftp site described below. To obtain the software, simply ftp to ftp.cs.wisc.edu (128.105.8.18), login as anonymous with your email address as a password, "cd" to the "exodus" directory, and follow the directions (directions will be given as you "cd"). See the README for the latest information about the software and an indication of our future plans. If you decide to use the software, please contact us at exodus@cs.wisc.edu so that we can notify you of changes. >18 GRAS GRAS - A Graph-Oriented Database System for SE Applications Copyright (C) 1987-1992 Lehrstuhl Informatik III, RWTH Aachen This library is free software under the terms of the GNU Library General Public License. Lehrstuhl f"ur Informatik III --> GRAS University of Technology Aachen (RWTH Aachen), Ahornstr. 55, D-5100 Aachen Contact : Dr. Andy Sch"urr (or Richard Breuer), andy@rwthi3.informatik.rwth-aachen.de ricki@rwthi3.informatik.rwth-aachen.de (for technical support) The system GRAS with interfaces for the programming languages Modula-2 and C is available as public domain software for Sun3/Sun4 workstations (the GRAS system itself is implemented in Modula-2 and consists of many layers which might be reusable for the implementation of other systems): Via anonymous ftp from tupac-amaru.informatik.rwth-aachen.de (137.226.112.31) in the directory /pub/unix/GRAS522_3 There are several files contain documentation, sources, binaries, and libraries. All binaries are for Sun/4 machines. Sun/3 binaries are shipped only if explicitly requested. [See APPENDIX B] >19 MOOD (OODB, lim arch) What: MOOD/P3 Ver.2.00 OODBS {Miniature,Materials}OODBS. From: ono@mood.mech.tohoku.ac.jp (Noboru Ono) Date: 18 May 92 10:28:42 GMT The following program/sample database package is available through anonymous FTP at mood.mech.tohoku.ac.jp (130.34.88.61). Sorry it is not the sources and operates only in NEC-PC9801/MS-DOS environment. Sorry again documents are all in Japanese. We will tell you later when English documents has become ready. MOOD/P3 Ver.2.00 Material's Object-Oriented Database, Prototype 3 This program, as you may guess, 1) is an Object-Oriented database system program, 2) operates on PC-9801 series personal computer, and 3) is accompanied by sample material database schema. Although this program has been developed and being used in the experiments on material data processing in which we are now involved, it is a general purpose OODBS. Noboru Ono Dept. of Machine Intelligence and Systems Engineering, Faculty of Engineering, Tohoku University. Tel:++22-222-1800 Fax:++22-268-3688 E-mail:ono@mood.mech.tohoku.ac.jp >20 Ode (C++ OODB) What: Ode Release 1.1 From: nhg@research.att.com Ode is an object-oriented database based on the C++ database model. The primary interface to Ode is the database programming language O++ which is based on C++. Ode 1.1 is now available to Universities. This is a beta release. The current version of Ode runs on Sun (Sparc) workstations and users must have C++ release 2.0 or a later release. If you are interested in using Ode and giving us feedback on your experience with Ode, please send me mail with the appropriate information. Narain Gehani AT&T Bell Labs 3D-414 600 Mountain Ave Murray Hill, NJ 07974 From: thssamj@iitmax.iit.edu (Aditya M. Jani) Subject: *Announcement* UserGroup for ODE (OODBMS from AT&T) Organization: Illinois Institute of Technology, Chicago Date: Fri, 25 Jun 93 17:27:53 GMT Ode Object database v2.0 ------------------------ Ode 2.0 is available via ftp from research.att.com. Here is a sample session showing how to retrieve Ode 2.0 which is kept in the directory dist/ode2.0 as a compressed tar file named 2.0.oppbin.tar.Z First create the directory on the local machine where ode is to be installed, e.g., mkdir ode cd ode Retrieve the compressed tar Ode file using ftp into as illustrated below. Then uncompress it uncompress 2.0.oppbin.tar.Z and unbundle it tar xvf 2.0.oppbin.tar Next see file README, fix install file, and run install ./install Sample ftp session -------------- $ ftp research.att.com Connected to tcp!192.20.225.2!1390. 220 inet FTP server (Version 4.271 Fri Apr 9 10:11:04 EDT 1993) ready. Name (research.att.com:smith): anonymous 331 Guest login ok, send ident as password. Password: smith@hostname 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd dist 250 CWD command successful. ftp> cd ode2.0 250 CWD command successful. ftp> get 2.0.oppbin.tar.Z 200 PORT command successful. 150 Opening BINARY mode data connection for 2.0.oppbin.tar.Z (2762525 bytes). 226 Transfer complete. 2762525 bytes received in 1.6e+02 seconds (16 Kbytes/s) ftp> quit 221 Goodbye. ------------------------------------------------------------------------------- Available Now! Ode 2.0 An Object-Oriented Database C++ Compatible, Fast Queries, Complex Application Modeling, Multimedia Support, and more Ode 2.0 is now available to Universities. Users who currently have Ode 1.1 will be automatically sent a tape with Ode 2.0. There is no charge for Ode. However, AT&T requires the signing of a non-disclosure agreement. Details ------- ODE OBJECT-ORIENTED DATABASE The Ode object database is based on the C++ object paradigm. Ode uses one integrated data model (C++ classes) for both database and general purpose manipulation. The Ode database is defined, queried and manipulated in the database programming language O++, which provides simple and elegant facilities for manipulating the database. O++ is an upward-compatible extension of C++. A few facilities have been added to C++ to make it into a database programming language. C++ programmers can learn O++ in a very short time. O++ programs can be compiled with C++ programs thus allowing the use of existing C++ code. THE ODE MODEL OF PERSISTENCE Ode offers a simple and elegant notion of persistence which is modeled on the ``heap''. Specifically, memory is partitioned into volatile and persistent. Volatile objects are allocated in volatile memory (stack or heap). Persistent objects are allocated in persistent store and they continue to exist after the program that created them has terminated. An Ode database is a collection of persistent objects. Each object is identified by a unique object id (i.e., a persistent pointer, or to be precise, a pointer to a persistent object). The database programming language O++ provides facilities for creating and manipulating the Ode database. For example, O++ provides facilities for specifying transactions, creating and manipulating persistent objects, querying the database, creating and manipulating versions. WHAT IS AN OBJECT-ORIENTED DATABASE Some important characteristics of an object-oriented database are: + data is stored as objects, + data can be interpreted (using methods) only as specified by the class designer, + relationship between similar objects is preserved (inheritance), and + references between objects are preserved. ADVANTAGES OF OBJECT-ORIENTED DATABASES + Speed: Queries can be faster because joins (as in relational databases) are often not needed. This is because an object can be retrieved directly without a search, by following object ids. + No impedance mismatch: The same data model is used by both the database programming language and the database; it is not necessary to do any format conversions when reading the data from disk and when storing the data on disk. + Programmers need to learn only one programming language: The same programming language is used for both data definition and data manipulation. + Complex applications: The full power of the database programming language's type system can be used to model the data structures of a complex application and the relationship between the different data items. + Multimedia applications: The semantic information stored in the database (class methods) facilitates correct interpretation of the data. This reduces application complexity since applications do no have to be responsible for the correct interpretation of data. + Versions: Object-oriented databases typically provide better support for versioning. An object can viewed as the set of all its versions. Also, object versions can be treated as full fledged objects. + Triggers and constraints: Object-oriented databases provide systematic support for triggers and constraints which are the basis of active databases. Finally, most, if not all, object-oriented applications that have database needs will benefit from using an object- oriented database. Specifically, C++ applications that have database needs will benefit from using Ode. FEATURES OF ODE 1. Ode is C++ based and compatible with C++. 2. The Ode object database provides four object compatible mechanisms for manipulating and querying the database: O++, OdeView, OdeFS, and CQL++: + O++ is a database programming language based on C++. O++ is upward compatible with C++ and it makes minimal changes to C++. O++ offers a simple and elegant notion of persistence which is modeled on the ``heap''. O++ provides facilities for querying the database, and a variant of other facilities. + OdeView is a graphical X-based interface to the Ode database. + OdeFS is a file system interface to the Ode object database. OdeFS allows objects to be treated and manipulated like files. Standard commands such as rm, cp and mv and tools such as vi and grep can be used to manipulate objects in the database. + CQL++ is a C++ variant of SQL for easing the transition from relational databases to object- oriented databases such as Ode. Currently, only O++ is shipped with Ode 2.0. A beta- test version of OdeFS is available upon request. 3. Ode supports large objects (these are critical for multi-media applications). Ode provides both transparent access for large objects and a file like interface for large objects. The latter can be used to efficiently access and update parts of a large object. 4. Users can create versions of objects. Ode will track the relationship between versions and provides facilities for accessing the different versions. 5. Transactions can be specified as read-only; such transactions are faster because they are not logged and they are less likely to deadlock. 6. Users can run ``hypothetical'' transactions. Hypothetical transaction allow users to pose ``what- if'' scenarios (as often done with spread sheets). User can change data and see the impact of these changes without changing the database. 7. EOS, the storage engine of Ode, is based on a client- server architecture. Some features of EOS: a. Efficient and transparent handling of large objects. A file-like interface is also provided for very large objects. b. Concurrency is based on multi-granularity two- version two-phase locking; it allows many readers and one writer to access the same item simultaneously. c. Log records contain only after images of updates, thus making logs small. Recovery from system failures requires one scan over the log resulting in fast restarts. USE MODES Ode supports two modes of use: 1. Client-server (allows multiple users to access the database concurrently). 2. Single user (improved performance compared to using the client-server mode). USERS Ode 2.0 is currently being used as the multi-media database engine for AT&T's Interactive TV project. Ode 1.1 (older version of Ode with limited capabilities) has also been distributed to 30+ sites within AT&T and 135+ universities. >21 POSTGRES (Ext. Rel. DBMS) What: Version 4.0 of the POSTGRES DBMS From: mer@gaia.CS.Berkeley.EDU (Jeff Meredith) Date: 16 Jul 92 04:53:17 GMT Version 4.0 of the POSTGRES DBMS is now available for distribution. Version 4.0 provides significant advances in functionality over 3.1. General improvements in the code and some key multi-user bug fixes have resulted in a much more reliable system than we have ever previously released. Major new features include: o Complete support for language (POSTQUEL) functions. o Handling of nested dot expressions. o Optimization of predicates with expensive functions. o Binary portals o Initial support of sets o Indices on system catalogs. Postgres runs on Sparc I, Sparc II, Sun 4 running SunOs, and DECstations running ULTRIX >= 4.0, as well as Sequent Symmetry machines. Postgres consists of about 250,000 lines of C. If you would like to get Postgres 4.0, you can get it in one of two ways: (1) Anonymous FTP from postgres.berkeley.edu cd pub get postgres-setup.me binary get postgres-v4r0.tar.Z quit Or, if you do not have net.access, you can order a Postgres distribution tape by sending a check payable to the Regents of the University of California for $150.00 to: Postgres Project 571 Evans Hall University of California Berkeley, CA 94720. Indicate in your accompanying letter whether you want the system on a 9-track tape at 1600 BPI, at 6250 BPI, on a cartridge tape for SUN shoeboxes (QIC 24 format), or on a TK50 DEC cartridge tape. >22 Sniff (C++ devel environ) [See also APPENDIX C, SNiFF+, for the commercial version] What: SNIFF (Sniff 1.1b (C++ Development Environment)) From: shite@sinkhole.unf.edu (Stephen Hite) Date: 23 Aug 92 18:14:00 GMT Sniff 1.1b is available from iamsun.unibe.ch in the C++ hierarchy. It's a development environment for C++ (minus the C++ compiler or interpreter). It's freely available and you're gonna need OpenWindows 3.0 if you want to play with it immediately. I just downloaded it and haven't had a chance to look into whether the XView 3.0 package will be able to handle everything Sniff requires of the OpenLook part. And: From: sniff@takeFive.co.at (Mr. Sniff) Newsgroups: comp.lang.c++,comp.unix,comp.unix.osf.osf1,comp.unix.solaris,comp.object Subject: SNiFF+ takeFive Starts Free University Distribution of Commercial C/C++ Programming Environment Date: 22 Sep 1993 15:51:26 GMT Organization: EUnet EDV-Dienstleistungsgesellschaft m.b.H Keywords: programming environments, browsing, C++ SNiFF+: takeFive Starts Free University Distribution of Commercial C/C++ Programming Environment 1. Introduction =============== Since the beginning of 1993 takeFive has taken over development and support for SNiFF+, a leading edge C/C++ programming environment. With SNiFF+ rapidly gaining commercial acceptance takeFive has decided to offer the product free to educational establishments. There are several reasons for this step. ... 6. How to Obtain SNiFF+ ======================= 6.1 FTP ------- Sniff can be downloaded from anonymous FTP sites in USA and Europe. You can get all details from info@takeFive.co.at. And: From: hueni@iam.unibe.ch (Hermann Hueni) Subject: Re: Browsers Date: Fri, 11 Jun 1993 12:37:28 GMT Sniff is a commercial product. Send mail to info@takeFive.co.at AN early version is available as a SUN SPARC binary only from siam.unibe.ch:C++/Sniff1.6/ (THIS site is in EUROPE) >23 C++ tags Eiffel archive,24 short tool, 24 What: ctags/etags for C and C++ From: kendall@centerline.com (Sam Kendall) Date: 10 Jun 92 09:31:27 GMT A lot of people have requested this software! You can now get Tags for C/C++ version 1.0 via anonymous ftp at: ftp.centerline.com:/pub/tags-1.0.tar.Z ftp.centerline.com is 140.239.2.29. Anonymous ftp means login as "ftp" and give your email address as the password. If you don't have ftp access to the internet, you may want to wait for this stuff to come out in comp.sources.unix. Or, if you plan to use it right away, send me a letter that says "I can't use ftp; please send by email" and I will do so. >24 short tool From: neil@aldur.demon.co.uk (Neil Wilson) Subject: New version of 'short' available Date: Sat, 7 Aug 1993 09:38:25 +0000 A new beta release (1.2) of 'short' is available from the Stuttgart Eiffel archive (ftp.informatik.uni-stuttgart.de) in directory /pub/eiffel/eiffel-3/sig Command line processing is now included in the short system. Short can now cope with multiple input files, the standard input and deal with most file errors. Short now depends on the argument cluster which is available from the same archive and directory. Short supports the following options: -V, +version, -h, +help Displays the 'short' version information and gives the usage help message for the command. -e, +abstract, +eiffel Produces a fully deferred version of the input class(es) which will compile just like any other class (hopefully :-) -l , +view Produces the output from the point of view of the class - the "short form for ". Special handling for ANY and NONE of course. By default short outputs the "short form for ANY". -f, +full Produces the short form including all the feature blocks. (Implemented as the "short form for NONE".) -p, +parents Retains the inheritance clause in the output. The default is to drop it. -b , +blank Indent levels by characters. -c , +column Width of the output is characters. Should be greater than 20. Obsolete features are not retained. Obsolete classes retain no features. The output of the tool now conforms to the layout rules in Appendix A of ETL and should look like the 'short' examples in the book. As much as is possible the output and command line options conform to ISE's 2.3 version of 'short'. This release of short has been tested on all the v1.21 Eiffel/S libraries, itself and the argument clusters, plus any other class fragments I had lying around at the time. My biggest debt is of course to David Morgan. This version is only really a tiny modification of his work. His ELEXER Eiffel 3 parser remains the core of the tool. I though am responsible for any remaining deficiencies or problems with this release. Problems, suggestions, comments, criticisms to me please. All gratefully received - I can't improve my Eiffel if somebody doesn't tell me where I blew it. >25 COOL(C++, Cfront 2.1, from GE) COOL is a C++ class library developed at Texas Instruments. Features are: 1. Rich set of containers like Vector, List, Hash_Table, Matrix, etc... 2. Hierarchy is shallow with no common base class, rather than deep like NIHCL. 3. Functionality close to Common Lisp data structures, like GNU libg++. 4. Template syntax very close to Cfront3.x, g++2.x. 5. Free, with good documentation, and extensive test cases. Light version of COOL from General Electric: 1. Hairy macros, run-time type, exceptions removed for mainstream C++ compatibility 2. Free of memory leaks and bound violations. Leaks and bounds are checked with Purify. 3. Has memory management and efficient copy in expressions like: Set c = a+b+c; Pointers are shared with Handle and Reference count. Deep copy in expressions are replaced by shallow copy. 4. Compatible with Cfront2.1, and is being converted to Cfront3.0. You can build both static and shared library on SunOS 4.1.x 1. original version from Texas Instruments: at csc.ti.com, get pub/COOL.tar.Z 2. Cfront2.1 version modified by General Electric: at cs.utexas.edu, get pub/COOL/GE_COOL2.1.tar.Z I am working on Cfront3.0 version of COOL, using the Beta 3.0 from Sun. I am experiencing problems with instantiation and specialization of templates. So Cfront3.0 version of COOL won't be available until Sun's Cfront 3.0 is released with bugs fixed. Van-Duc Nguyen General Electric Research & Development Ctr 1 River Road, Room K1-5C39. Schenectady, NY 12301. Phone: (518) 387-5659 Fax: (518) 387-6845 nguyen@crd.ge.com >26 idl.SunOS4.x, idl.Solaris2.x Subject: Binaries for OMG IDL CFE placed on omg.org Date: 11 Jun 93 00:13:11 GMT Reply-To: jyl@toss.eng.sun.com SunSoft has made available statically linked binaries for the OMG IDL CFE, for both Solaris 1.x and Solaris 2.x. Because they are statically linked, these binaries can be used on systems which do not have the SparcWorks (TM) compilers installed. It is expected that people who only want an IDL parser will prefer to obtain these binaries instead of compiling the program on their host. People who want to build a complete compiler, by programming their own back-end, will continue to obtain the sources which are also provided at the same location. The binaries can be obtained by anonymous FTP to omg.org. They are installed in the directory pub/OMG_IDL_CFE_1.2/bin, in idl.SunOS4.x and idl.Solaris2.x. Uuencoded versions are also available, in the same directory. Please send email to idl-cfe@sun.com if you obtain these files. The attached copyright applies to the provided binaries and to the source files provided on the omg.org file server. Copyright: Copyright 1992 Sun Microsystems, Inc. Printed in the United States of America. All Rights Reserved. This product is protected by copyright and distributed under the following license restricting its use. The Interface Definition Language Compiler Front End (CFE) is made available for your use provided that you include this license and copyright notice on all media and documentation and the software program in which this product is incorporated in whole or part. You may copy and extend functionality (but may not remove functionality) of the Interface Definition Language CFE without charge, but you are not authorized to license or distribute it to anyone else except as part of a product or program developed by you or with the express written consent of Sun Microsystems, Inc. ("Sun"). The names of Sun Microsystems, Inc. and any of its subsidiaries or affiliates may not be used in advertising or publicity pertaining to distribution of Interface Definition Language CFE as permitted herein. This license is effective until terminated by Sun for failure to comply with this license. Upon termination, you shall destroy or return all code and documentation for the Interface Definition Language CFE. [...] etc. on copyright stuff [...] SunSoft, Inc. 2550 Garcia Avenue Mountain View, California 94043