category: object oriented languages


Description:
In general, object oriented languages were categorized elsewhere. Only those that were not anything but object- oriented are here. (HTML version has 'em all here)


Language:
O'small
Package:
?
Version:
?
Parts:
interpreter
Author:
?
Location:
?
Description:
?
Requires:
Miranda
Ports:
?
Portability:
?
Updated:
?

Language:
C++
Package:
? signatures for GCC 2.5.2. ?
Version:
?
Parts:
patches to GNU CC, documentation
Author:
Gerald Baumgartner <gb@cs.purdue.edu>
Location:
ftp://ftp.cs.purdue.edu/pub/gb/*
Description:
Signatures are very similar to abstract base classes except that they have their own heirarchy and can be applied to compiled classes. They provide a means of separating subtyping and inheritance.
Requires:
GNU CC 2.5.2
Updated:
November 3rd, 1993

Language:
C++
Package:
??? A C++ Parser toolkit
Version:
?
Parts:
library
Author:
Mayan Moudgill <moudgill@cs.cornell.EDU>
Location:
ftp://ftp.cs.cornell.edu/pub/Parse.shar
Description:
A collection of C++ classes that make building a recursive descent parser/scanner very easy.
Ports:
Sun 4 with cfront 3.0,
Portability:
uses mmap(); probably low.
Updated:
April 11th, 1993

Language:
C++
Package:
aard ???
Version:
?
Parts:
memory use tracer
Author:
?
Location:
ftp://wilma.cs.brown.edu/pub/aard.tar.Z
Description:
We have a prototype implementation of a tool to do memory checking. It works by keeping track of the typestate of each byte of memory in the heap and the stack. The typestate can be one of Undefined, Uninitialized, Free or Set. The program can detect invalid transitions (i.e. attempting to set or use undefined or free storage or attempting to access uninitialized storage). In addition, the program keeps track of heap management through malloc and free and at the end of the run will report all memory blocks that were not freed and that are not accessible (i.e. memory leaks). The tools works using a spliced-in shared library.
Requires:
Sparc, C++ 3.0.1, SunOS 4.X
Contact:
Steve Reiss <spr@cs.brown.edu>
Updated:
?

Language:
ABCL/1 (An object-Based Concurrent Language)
Package:
ABCL/1
Version:
?
Parts:
?
Author:
Akinori Yonezawa, ABCL Group now at Department of Information Science, the University of Tokyo
Location:
ftp://camille.is.s.u-tokyo.ac.jp/pub/abcl1/*
Description:
Asynchronous message passing to objects.
Reference:
"ABCL: An Object-Oriented Concurrent System", Edited by Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
Restriction:
no commercial use, must return license agreement
Requires:
Common Lisp
Contact:
abcl@is.s.u-tokyo.ac.jp
Updated:
May 23rd, 1990

Language:
ABCL ???
Package:
ABCL/R2
Version:
?
Parts:
?
Author:
masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp, takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
Location:
ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr2/*
Description:
ABCL/R2 is an object-oriented concurrent reflective language based on Hybrid Group Architecture. As a reflective language, an ABCL/R2 program can dynamically control its own behavior, such as scheduling policy, from within user-program. An an object-oriented concurrent language, this system has almost all functions of ABCL/1.
Requires:
Common Lisp
Updated:
January 28th, 1993

Language:
Common Lisp
Package:
AKCL (Austin Kyoto Common Lisp)
Version:
1-615
Parts:
improvements
Author:
Bill Schelter <wfs@cli.com>, <wfs@rascal.ics.utexas.edu>
Location:
ftp://rascal.ics.utexas.edu/pub/akcl-*.tar.Z
Description:
AKCL is a collection of ports, bug fixes, and performance improvements to KCL.
Ports:
Decstation3100, HP9000/300, i386/sysV, IBM-PS2/aix, IBM-RT/aix SGI Sun-3/Sunos[34].* Sun-4 Sequent-Symmetry IBM370/aix, VAX/bsd VAX/ultrix NeXT
Updated:
April 29th, 1992

Language:
ALLOY
Package:
ALLOY
Version:
2.0?
Parts:
interpreter, documentation, examples
Author:
Thanasis Mitsolides <mitsolid@cs.nyu.edu>
Location:
ftp://cs.nyu.edu/pub/local/alloy/*
Description:
ALLOY is a higher level parallel programming language appropriate for programming massively parallel computing systems. It is based on a combination of ideas from functional, object oriented and logic programming languages. The result is a language that can directly support functional, object oriented and logic programming styles in a unified and controlled framework. Evaluating modes support serial or parallel execution, eager or lazy evaluation, non-determinism or multiple solutions etc. ALLOY is simple as it only requires 29 primitives in all (half of which for Object Oriented Programming support).
Ports:
sparc, ?
Updated:
June 11th, 1991

Language:
BETA
Package:
BETA
Version:
?
Parts:
interpreter
Author:
Erik Ernst eernst@daimi.aau.dk
Location:
ftp://ftp.daimi.aau.dk/pub/empl/eernst/gbeta
Description:
The ftp site contains source code, precompiled interpreters for three platforms (Sun/Sparc,Linux,HP-UX9), and sundry text files giving instructions on how to install and use the interpreter. The interpreter is very new and does contain known bugs (probably also a few unknown ones ;-). However, it is stable enough to be useful for writing small programs (10-100 lines) and executing them in a gdb-like environment, to investigate the semantics of both BETA and the generalization: standard BETA programs will run with the same semantics as before, and the new features are there if you use them.
Updated:
?

Language:
Tcl
Package:
BOS (The Basic Object System)
Version:
1.31
Parts:
library
Author:
Sean Levy <Sean.Levy@cs.cmu.edu>
Location:
ftp://barkley.berkeley.edu/tcl/???
Description:
BOS is a C-callable library that implements the notion of object and which uses Tcl as its interpreter for interpreted methods (you can have "compiled" methods in C, and mix compiled and interpreted methods in the same object, plus lots more stuff). I regularly (a) subclass and (b) mixin existing objects using BOS to extend, among other things, the set of tk widgets (I have all tk widgets wrapped with BOS "classes"). BOS is a class-free object system, also called a prototype-based object system; it is modeled loosely on the Self system from Stanford.
Updated:
August 21st, 1992

Language:
C++
Package:
C++ grammar
Version:
?
Parts:
parser (yacc)
Author:
?
Location:
comp.sources.misc volume ?
Description:
[is this a copy of the Roskind grammar or something else? --ed]
Updated:
October 23rd, 1991

Language:
C++
Package:
C++ Object Oriented Library
Version:
COOL ?, GECOOL 2.1, JCOOL 0.1
Parts:
libraries, tests, documentation
Author:
?
Location:
GECOOL, JCOOL: ftp://cs.utexas.edu/pub/COOL/* COOL: ftp://csc.ti.com/pub/COOL.tar.Z
Description:
A C++ class library developed at Texas Instruments. Cool contains a set of containers like Vectors, List, Hash_Table, etc. It uses a shallow hierarchy with no common base class. The funtionality is close to Common Lisp data structures (like libg++). The template syntax is very close to Cfront3.x and g++2.x. Can build shared libraries on Suns. JCOOL's main difference from COOL and GECOOL is that it uses real C++ templates instead of a similar syntax that is preprocessed by a special 'cpp' distributed with COOL and GECOOL.
Ports:
?
Contact:
Van-Duc Nguyen <nguyen@crd.ge.com>
Updated:
August 5th, 1992

Language:
C++
Package:
C++SIM
Version:
1.0
Parts:
library
Author:
Mark Little <M.C.Little@newcastle.ac.uk>
Location:
ftp://arjuna.ncl.ac.uk/ ??
Description:
C++SIM is a class library that provides the same sort of features found in the simulation class libraries of SIMULA.
Updated:
June 14th, 1993

Language:
Common Lisp
Package:
Cartier's Contribs
Version:
1.2
Parts:
libraries, documentation
Author:
Guillaume Cartier <cartier@math.uqam.ca>
Location:
ftp://cambridge.apple.com/pub/mcl2/contrib/Cartiers*
Description:
libraries for MCL
Requires:
Macintosh Common Lisp
Discussion:
comp.lang.lisp.mcl
Updated:
April 18th, 1994

Language:
Simula 67
Package:
cim
Version:
1.62
Parts:
compiler(->C)
Author:
Sverre Hvammen Johansen <sj@ifi.uio.no> Stein Krogdahl <steink@ifi.uio.no> Terje Mjoes.
Location:
ftp://sunsite.unc.edu/pub/Linux/devel/simula/cim-1.??.tar.gz
europe:
ftp://ftp.ifi.uio.no/pub/cim/cim-1.??.tar.gz ftp://ftp.fenk.wau.nl/pub/lang/simula/compilers/cim/cim-1.??.tar.gz
Description:
A compiler that translates Simula to C, for further compilation.
Conformance:
Does not include unspecified virtual procedures.
Reference:
"Viderefoering og testing av et portabelt Simula-system." Hovedoppgave til cand.scient.-graden av Terje Mjoes. Institutt for informatikk, Universitetet i Oslo, April 1989.

"Et portabelt Simula-system bygget paa C." Hovedoppgave til cand.scient-graden av Sverre Johansen. Institutt for informatikk, Universitetet i Oslo, Mai 1987.

Bugs:
Constant must be declared before reference/use.
Restriction:
See bugs and conformance.
Requires:
A C compiler.
Ports:
Numerous.
Portability:
Any UNIX system. (Uses GNU AutoConf.)
Status:
Maintained by Sverre Johansen.
Help:
E-mail: cim@ifi.uio.no
Contact:
E-mail: cim@ifi.uio.no
Updated:
March 20th, 1995.

Language:
Common Lisp
Package:
CLiCC
Version:
0.6.4
Parts:
compiler(->C), runtime library
Author:
Heinz Knutzen <hk@informatik.uni-kiel.de>, Ulrich Hoffman <uho@informatik.uni-kiel.de>, Wolfgang Goerigk <wg@informatik.uni-kiel.de>
Location:
ftp://ftp.informatik.uni-kiel.de/pub/kiel/apply/clicc*
Description:
A Common Lisp to C compiler, meant to be used as a supplement to existing CLISP systems for generating portable applications. Target C code must be linked with CLiCC runtime library to produce executable.
Conformance:
Subset of Common Lisp + CLOS (named: CL_0, or CommonLisp_0) CL_0 based on CLtL1.
Restriction:
Freely distributable and modifiable
Ports:
Runs in Lucid Lisp, AKCL, CLISP, ...
Status:
Working towards CLtL2 and ANSI-CL conformance.
Updated:
June 25th, 1994

Language:
Common Lisp
Package:
CLISP
Version:
July 12th, 1994
Parts:
interpreter, bytecode compiler, runtime library, editor
Author:
Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>, Michael Stoll <michael@rhein.iam.uni-bonn.de>
Location:
ftp://ma2s2.mathematik.uni-karlsruhe.de/pub/lisp/clisp ftp://sunsite.unc.edu/pub/Linux/development/lisp/ ftp://tsx-11.mit.edu/pub/linux/packages/lisp/
Description:
CLISP is a Common Lisp (CLtL1) implementation by Bruno Haible of Karlsruhe University and Michael Stoll of Munich University, both in Germany. It needs only 1.5 MB of RAM. German and English versions are available, French coming soon. Packages running in CLISP include PCL and, on Unix machines, CLX. A native subset of CLOS is included.
Conformance:
CLtL1 + parts of CLtL2
Restriction:
GNU General Public License
Ports:
Atari, Amiga, MS-DOS, OS/2, Linux, Sun4, Sun386i, HP90000/800 and others
Discussion:
send "subscribe clisp-list" to listserv@ma2s2.mathematik.uni-karlsruhe.de
Contact:
Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>
Updated:
July 12th, 1994

Language:
Common Lisp
Package:
CLX
Version:
5.01
Parts:
library
Author:
?
Location:
ftp://export.lcs.mit.edu/contrib/CLX.R5.01.tar.Z
Description:
Common Lisp binding for X
Bugs:
bug-clx@expo.lcs.mit.edu
Ports:
?, CMU Common Lisp
Contact:
?
Updated:
August 26th, 1992

Language:
Common Lisp
Package:
CMU Common Lisp
Version:
17c
Parts:
incremental compiler, profiler, runtime, documentation, editor, debugger
Author:
?
Location:
ftp://lisp-sun1.slisp.cs.cmu.edu/pub/*
Description:
CMU Common Lisp is public domain "industrial strength" Common Lisp programming environment. Many of the X3j13 changes have been incorporated into CMU CL. Wherever possible, this has been done so as to transparently allow use of either CLtL1 or proposed ANSI CL. Probably the new features most interesting to users are SETF functions, LOOP and the WITH-COMPILATION-UNIT macro.
  • The new CMU CL compiler (Python) is more sophisticated thatn other Common Lisp compilers. It produces better code and is easier to use.
  • The programming environment based on the Hemlock editor is better integrated than gnu-emacs based environments.
Conformance:
mostly X3J13 compatible.
Ports:
Sparc/Mach Sparc/SunOS Mips/Mach IBMRT/Mach
Contact:
slisp@cs.cmu.edu
Updated:
November 18th, 1993

Language:
CooL (Combined object-oriented Language)
Package:
CooL-SPE
Version:
2.1pre45
Parts:
compiler(->C), emacs mode, X libraries, container libraries, database access libraries, dialog editor, source debugger, object test harness
Author:
ITHACA project
Location:
ftp://ftp.fu-berlin.de/pub/unix/languages/cool/cool-*.tar.Z
Description:
The CooL-SPE is a programming environment specially designed to support the professional development of large-scale object-oriented application systems.

CooL offers all the basic features of the object-oriented paradigm, such as (single) inheritance, dynamic binding and polymorphism. Above that, CooL offers generic object types and abstract object types and last but not least supports modules in the tradition of Modula, thus allowing to really build large systems. CooL is fully type-compliant with the C language type system and allows software written in C or in languages with a C interface to be integrated into CooL applications without any effort.

CooL-SPE supports the development of application systems with graphical user interfaces based on X/Motif. These interfaces may be constructed using UIL or interactivly using a dialog editor. A dialog object class library, DIO, is available to facilitate integration of the application with the runtime system of X/Motif. This interface abstracts from the toolkit's primitives.

The CooL language is extended by the CooL library system CoLibri. CoLibri offers a BCD type and a number of functions for the CooL simple types (e.g. STRING). As foundation object types, provides basic file I/O, time representation (including date, time, duration, interval etc.), and the basic container object types (e.g. set, list, sortedList, map and dictionary) as generic types.

The SQL Object Interface (SOI) is provided to allow object-oriented applications to be integrated with a relational database system. This interface offers access to SQL tables via a generated object type interface.

Requires:
INFORMIX
Ports:
Linux, Solaris, Sinux 5.41
Portability:
nothing prevents using a different database backend
Status:
new
Contact:
CooL@sietec.de
Updated:
October 25th, 1994

Language:
C++
Package:
cppp
Version:
1.14
Parts:
parser (yacc)
Author:
Tony Davis <ted@cs.brown.edu>
Location:
ftp://wilma.cs.brown.edu/pub/cppp.tar.Z
Description:
A compiler front-end for C++, with complete semantic processing. Outputs abstract syntax graph.
Restriction:
Permission needed for incorporation into commercial software.
Requires:
Native C++ compiler, lex, yacc, make, sed (or hand editing)
Status:
Upgrading the back end.
Updated:
May 26th, 1993

Language:
C, C++
Package:
Cyclo - cyclomatic complexity tool
Version:
the one and only version
Parts:
code analysis tool
Author:
Roger D Binns
Location:
alt.sources archive, June 28th, 1993, <C9C2rH.EE@brunel.ac.uk>
Description:
It measures cyclomatic complexity, shows function calls and can draw flowgraphs of ANSI C and C++ code.
Requires:
lex, C++
Updated:
June 28th, 1993

Language:
C, C++
Package:
ddd
Version:
2.1
Parts:
symbolic graphical debugger, documentation
Author:
Andreas Zeller
Location:
ftp://ftp.ips.cs.tu-bs.de/pub/local/softech/ddd/ddd-2.1.tar.gz
Description:
The Data Display Debugger (DDD) is a common graphical user interface to GDB, DBX, and XDB, the popular UNIX debuggers. Besides ``usual'' features such as viewing source texts and breakpoints, DDD provides a graphical data display, where data structures are displayed as graphs. A simple mouse click dereferences pointers or reveals structure contents, updated each time the program stops. Using DDD, you can reason about your application by viewing its data, not just by viewing it execute lines of source code.
Bugs:
ddd@ips.cs.tu-bs.de http://www.cs.tu-bs.de/softech/ddd/
Restrictions:
GPL
Updated:
May 5th, 1997

Language:
Dynace
Package:
Dynace
Version:
4.01
Parts:
translator(Dynace->C), library, documentation, examples
Author:
Blake McBride <blake@edge.net>
Location:
http://www.edge.net/algorithms
Description:
Object Oriented extension to C similar to Objective-C only doesn't modify C syntax. Adds features similar to CLOS and Smalltalk without their overhead.
Features:
  • metaobject protocol
  • generic functions
  • multiple inheratance
  • automatic garbage collector
  • portable threader
  • very portable
  • 300+ pages of documentation
  • well tested and used in commercial packages
Restriction:
free for non-commercial use
Ports:
Linux/Unix/DOS/VMS/Windows 3.1/95/NT
Portability:
entirely in portable C, optional assembler pieces for speed
Status:
active, supported
Discussion:
comp.lang.misc, Dynace-list@edge.net
Help:
Dynace-support@edge.net
Support:
Dynace-support@edge.net
Announcements:
comp.lang.misc, comp.lang.c
Updated:
April 5th, 1997

Language:
C++, Extended C++
Package:
EC++
Version:
?
Parts:
translator(C++), documentation
Author:
Glauco Masotti <masotti@lipari.usc.edu>
Location:
? ftp://ftp.uu.net/languages/c++/EC++.tar.Z ?
Description:
EC++ is a preprocessor that translates Extended C++ into C++. The extensions include:
  • preconditions, postconditions, and class invariants
  • parameterized classes
  • exception handling
  • garbage collection
Status:
?
Updated:
October 10th, 1989

Language:
C, C++, Objective-C
Package:
emx programming environment for OS/2
Version:
0.8g
Parts:
gcc, g++, gdb, libg++, .obj linkage, DLL, headers
Author:
Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de>
Location:
ftp://ftp-os2.cdrom.com/os2/2_x/unix/gnu/emx0.8g
europe:
ftp://ftp.uni-stuttgart.de/soft/os2/emx-0.8g
Description:
?
Discussion:
subscribe to emx-list using listserv@ludd.luth.se
Updated:
September 21st, 1992

Language:
C++
Package:
ET++
Version:
3.0-alpha
Parts:
class libraries, documentation
Author:
?
Location:
ftp://iamsun.unibe.ch/C++/ET++/*
Description:
?
Contact:
Erich Gamma <gamma@ifi.unizh.ch>
Updated:
October 26th, 1992

Language:
Common Lisp
Package:
Garnet
Version:
2.2
Parts:
user interface builder
Author:
The Garnet project
Location:
ftp://a.gp.cs.cmu.edu/usr/garnet/garnet
Description:
Garnet is a user interface development environment for Common Lisp and X11. It helps you create graphical, interactive user interfaces for your software. Garnet is a large scale system containing many features and parts including a custom object-oriented programming system which uses a prototype-instance model. It includes postscript support, gester recognition, and Motif emulation.
Contact:
Brad_Myers@bam.garnet.cs.cmu.edu
Updated:
October 15, 1993

Language:
C, C++
Package:
gdb
Version:
4.15.1
Parts:
symbolic debugger, documentation
Author:
many, but most recently Fred Fish <fnf@cygnus.com>, Stu Grossman <grossman@cygnus.com>, and John Gilmore <gnu@cygnus.com>, all of Cygnus Support
Location:
ftp://gatekeeper.dec.com/gdb-*.tar.[zZ] or any other GNU archive site
Description:
gdb is a full-featured symbolic debugger. It fills the same niche as dbx. Programs must be compiled with debugging symbols.
Bugs:
<bug-gdb@prep.ai.mit.edu>
Restriction:
CopyLeft
Ports:
most unix variants, vms, vxworks, amiga, msdos
Updated:
November 4 1995

Language:
Common Lisp
Package:
GINA (Generic Interactive Application)
Version:
2.2
Parts:
language binding, class library, interface builder
Author:
?
Location:
ftp://ftp.gmd.de/gmd/gina
n.america:
ftp://export.lcs.mit.edu/contrib/?
Description:
GINA is an application framework based on Common Lisp and OSF/Motif to simplify the construction of graphical interactive applications. It consists of:
  • CLM, a language binding for OSF/Motif in Common Lisp.
  • the GINA application framework, a class library in CLOS
  • the GINA interface builder, an interactive tool implemented with GINA to design Motif windows.
Requires:
OSF/Motif 1.1 or better. Common Lisp with CLX, CLOS, PCL and processes.
Ports:
Franz Allegro, Lucid, CMU CL and Symbolics Genera
Discussion:
gina-users-request@gmd.de
Updated:
?

Language:
C++
Package:
GNU C++ Library (libg++)
Version:
2.6
Parts:
library
Author:
Per Bothner <bothner@cygnus.com> ?
Location:
libg++-2.5.1.tar.gz from a GNU archive site
Description:
The run-time library for the GNU C++ compiler. This package is separately maintained.
Conformance:
? ANSI and POSIX.1 superset
Bugs:
bug-lib-g++@prep.ai.mit.edu
Updated:
July 19th, 1994

Language:
C, C++, Objective-C, RTL
Package:
GNU CC (gcc)
Version:
4.3.3
Parts:
compiler, runtime, examples, documentation Library listed separately
Author:
Richard Stallman and others
Location:
http://gcc.gnu.org/
Description:
A very high quality, very portable compiler for C, C++, Objective-C. The compiler is designed to support multiple front-ends and multiple back-ends by translating first into RTL (Register Transfer Language) and from there into assembly for the target architecture. Front ends for C (gcc), C++ (g++), Objective C, Fortran, Java (GCJ), and Ada (GNAT) are all under active development.
Conformance:
C: superset of K&R C and ANSI C.

C++: supports most ARM features; exceptions supported only on some platforms. Supports "bool". Alpha-level RTTI implementation included. Not yet supported: member templates, namespaces. Developers are tracking the draft ANSI/ISO standard and are committee members.

Objective-C: Complies with NeXT proposed (ANSI?) standard. [this conformance section requires updating --ed]

Bugs:
http://gcc.gnu.org/bugs.html
Restriction:
GNU General Public License
Ports:
3b1, a29k, aix385, alpha, altos3068, amix, arm, convex, crds, elxsi, fx2800, fx80, genix, hp320, clipper, i386-{dos,isc,sco,sysv.3,sysv.4,mach,bsd,linux,windows,OS/2}, iris,i860, i960, irix4, m68k, m88ksvsv.3, mips-news, mot3300, next, ns32k, nws3250-v.4, hp-pa, pc532, plexus, pyramid, romp, rs6000, sparc-sunos, freebsd sparc-solaris2, sparc-sysv.4, spur, sun386, tahoe, tow, umpis, vax-vms, vax-bsd, we32k, hitachi-{SH,8300}, 6811
Portability:
very high
Status:
actively developed
Discussion:
http://gcc.gnu.org/lists.html
Announcements:
gnu.gcc.announce (for C/Objective-C), gnu.g++.announce (for C++)
Updated:
Feb 2009

Language:
C, C++, Objective-C, RTL
Package:
GNU CC (gcc) - unsupported Macintosh port
Version:
1.37
Parts:
compiler, runtime, examples, documentation Library listed separately
Author:
?
Location:
mpw-gcc-1.37.1r14 from ?
Description:
This is an unsupported port of the GNU C compiler to the Macintosh environment. [If anyone knows who the author is please let me know - ed]
Bugs:
?
Restriction:
GNU General Public License
Ports:
Macintosh
Portability:
very high
Status:
?
Updated:
November 27th, 1993

Language:
E (a persistent C++ variant)
Package:
GNU E
Version:
2.3.3
Parts:
compiler
Author:
?
Location:
ftp://ftp.cs.wisc.edu/exodus/E/gnu_E*
Description:
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.

Restriction:
GNU General Public License; not all runtime sources are available (yet)
Requires:
release 2.1.1 of the Exodus storage manager
Contact:
exodus@cs.wisc.edu
Updated:
January 20th, 1993

Language:
Smalltalk
Package:
GNU Smalltalk
Version:
1.1.1
Parts:
?
Author:
Steven Byrne <sbb@eng.sun.com>
Location:
ftp://gatekeeper.dec.com/smalltalk-1.1.1.tar.Z or any other GNU archive site
Description:
?
Bugs:
gnu.smalltalk.bug
Discussion:
?
Contact:
?
Updated:
September 15th, 1991

Language:
Dylan
Package:
Gwydion Dylan
Version:
2.2
Parts:
compiler(->C), byte-code compiler, run-time, documentation, examples, source code
Author:
Gwydion Group at Carnegie-Mellon University (original authors) Gwydion Dylan volunteers (current maintainers) gd-bugs@randomhacks.com
Location:
http://gwydiondylan.org
Description:
A free, open-source implementation of the Dylan language for Unix-compatible systems. Originally developed by the Gwydion Group at Carnegie-Mellon University, the compiler is now being maintained and extended by a global volunteer effort. The major component of Gwydion Dylan is an optimizing Dylan-to-C compiler. Dylan is an advanced, object-oriented, dynamic language which supports the rapid development of programs. Nearly all entities in Dylan (including functions, classes, and basic data types such as integers) are first class objects. Additionally Dylan supports multiple inheritance, polymorphism, multiple dispatch, keyword arguments, object introspection, and many other advanced features.
Status:
active
Updated:
April 19th, 1999

Language:
Common Lisp
Package:
Hyperlisp
Version:
2.1f
Parts:
?
Author:
Joe Chung, MIT Media Laboratory
Location:
ftp://cambridge.apple.com/pub/mcl2/contrib/hyperlisp21f.sit.hqx
Description:
Hyperlisp is a real-time MIDI programming environment embedded in Macintosh Common Lisp. The environment was developed specifically for the Hyperinstruments project at the MIT Media Laboratory, and is optimized for interactive systems which require fast response times. Hyperlisp provides two main services for the music programmer: routines for MIDI processing and primitives for scheduling the application of functions. Programs written in Macintosh Common Lisp can use these services for a wide variety of real-time MIDI applications.
Updated:
April 18th, 1994

Language:
Java
Package:
JCC
Parts:
Translator
Author:
Nik Shaylor
Location:
http://www.digiserve.com/nshaylor/jcc.html
Description:
JCC is a direct Java to C converter. Unlike other translators JCC does not convert Java class files, but instead processes Java source code directly. It converts whole programs at a time and because of this it can make a number of optimisations that would be very difficult to achieve with other techniques. When used with a good optimising C compiler it produces programs that are typically between 10 to 20 times faster than Sun's 1.0.2 JVM.
Updated:
?

Language:
Common Lisp
Package:
KCL (Kyoto Common Lisp)
Version:
?
Parts:
compiler(->C), interpreter
Author:
T. Yuasa <yuasa@tutics.tut.ac.jp>, M. Hagiya <hagiya@is.s.u-tokyo.ac.jp>
Location:
? ftp://rascal.ics.utexas.edu/pub/kcl*.tar.Z
Description:
KCL, Kyoto Common Lisp, is an implementation of Lisp, It is written in the language C to run under Un*x-like operating systems. KCL is very C-oriented; for example, the compilation of Lisp functions in KCL involves a subsidiary C compilation.
Conformance:
conforms to the book ``Common Lisp: The Language,'' G. Steele, et al., Digital Press, 1984.
Bugs:
kcl@cli.com
Restriction:
must sign license agreement
Discussion:
kcl-request@cli.com
Updated:
1987/06

Language:
BNF variant, Python
Package:
kwParsing ?
Version:
?
Parts:
parser generator
Author:
Aaron Watters <aaron@vienna.njit.edu>
Location:
ftp://ftp.markv.com/pub/python/kwParsing.*
Description:
A parser generator written in Python for Python. This package may be appropriate for experimental translators, code generators, interpreters, or compilers; for instructinal purposes; among other possibility. The documentation gives a brief introduction to the conventions and basic ideas of parsing.
Updated:
September 24th, 1994

Language:
C++
Package:
LEDA
Version:
3.0
Parts:
libraries
Author:
?
Location:
ftp://ftp.mpi-sb.mpg.de/pub/LEDA/*
Description:
library of efficient data types and algorithms.

New with 3.0: both template and non-template versions.

Contact:
Stefan N"aher <stefan@mpi-sb.mpg.de>
Updated:
November 30th, 1992

Language:
Objective-C
Package:
libcoll -- Collection Class Library for GNU Objective-C
Version:
940510
Parts:
class library
Author:
Andrew McCallum <mccallum@cs.rochester.edu>
Location:
ftp.cs.rochester.edu in pub/objc/libcoll-940510.tar.gz
Description:
It's a library of Objective-C objects with similar functionality to Smalltalk's Collection objects. It includes: Set, Bag, Array, LinkedList, LinkList, CircularArray, Queue, Stack, Heap, SortedArray, MappedCollector, GapArray and DelegateList.
Updated:
May 10th, 1994

Language:
C++
Package:
Lily (LIsp LibrarY)
Version:
0.1
Parts:
library
Author:
Roger Sheldon <sheldon@kong.gsfc.nasa.gov>
Location:
ftp://sunsite.unc.edu/packages/development/libraries/lily-0.1.tar.gz
Description:
Lilly is a C++ class library which gives C++ programmers the capability to write LISP-style code. Lily's garbage collection mechanism is not sufficient for commercial use. The documentation is incomplete.
Restriction:
GNU Library General Public License
Requires:
C++ (g++ or Turbo C++, but not cfront)
Updated:
November 8th, 1993

Language:
Smalltalk
Package:
Little Smalltalk
Version:
4.0
Parts:
?
Author:
Tim Budd <budd@cs.orst.edu> ?
Location:
ftp://ftp.cs.orst.edu/pub/budd/little/ http://ftp.cs.orst.edu/pub/budd/little/ReadMe.html
Description:
?
Ports:
unix, pc, atari, vms
Status:
?
Updated:
?

Language:
Simula
Package:
Lund Simula
Version:
4.07
Parts:
?
Author:
?
Location:
ftp://rascal.ics.utexas.edu/misc/mac/programming/+_Simula/*
Description:
?
Contact:
Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
Updated:
May 22nd, 1992

Language:
Perl (Practical Extraction and Report Language)
Package:
MacPerl
Version:
5.2.0r4
Author:
Matthias Neeracher <neeri@iis.ee.ethz.ch>
Location:
http://www.ptf.com/macperl
Description:
MacPerl offers (nearly) all the features of Perl plus oodles of Macintosh-specific functionality!
Ports:
Macintosh
Status:
actively developed
Discussion:
mac-perl-request@iis.ee.ethz.ch (majordomo list)
Updated:
20 April 1998

Language:
Dylan
Package:
Marlais
Version:
0.5.11
Parts:
interpreter
Author:
Brent Benson <brent@ssd.csd.harris.com>
Location:
ftp://ftp.cis.ufl.edu:/pub/src/Marlais http://www.cis.ufl.edu/~jnw/Marlais/
Description:
Marlais is a simple-minded interpreter for a programming language strongly resembling Dylan [1]. It is not intended as a final release, but rather to fill a perceived void where Dylan implementations are concerned. This is a "hackers release" and is intended as a vehicle for education, experimentation and also to encourage people to port it to different architectures, add features, and fix bugs. Marlais is alpha software and should not be used by people desiring reliability!!!
Ports:
Sun-3, Sun-4, VAX/BSD, OS/2, Linux, Sequent Symmetry, Encore, HP-UX, Ultrix, SGI, Sony News, A/UX
Updated:
July 13th, 1994

Language:
Smalltalk
Package:
Mei
Version:
0.50
Parts:
interpreters(Lisp,Prolog), examples, libraries, tools, editor, browser
Author:
Atsushi Aoki <aoki@sra.co.jp> and others
Location:
ftp://mushroom.cs.man.ac.uk/pub/goodies/misc/Mei.tar.Z
n.america:
ftp://st.cs.uiuc.edu/pub/MANCHESTER/misc/Mei
japan:
ftp://srawgw.sra.co.jp/pub/lang/smalltalk/mei/Mei0.50.tar.Z
Description:
Mei is a set of class libraries for Objectworks Smalltalk Release 4.1. it includes:
  1. Grapher Library (useful for drawing diagrams);
  2. Meta Grapher Library (grapher to develop grapher);
  3. Drawing tools and painting tools (structured diagram editors and drawing editors);
  4. GUI editor (graphical user interface builder);
  5. Lisp interpreter;
  6. Prolog interpreter;
  7. Pluggable gauges;
  8. Extended browser; (package, history, recover, etc.)
Restriction:
GNU General Public License
Requires:
Objectworks Smalltalk Release 4.1
Contact:
Watanabe Katsuhiro <katsu@sran14.sra.co.jp>
Updated:
January 20th, 1993

Language:
MeldC (MELD, C)
Package:
MeldC
Version:
2.0
Parts:
microkernel, compiler, debugger, manual, examples
Author:
MELD Project, Programming Systems Laboratory at Columbia University
Location:
obtain license from <MeldC@cs.columbia.edu>
Description:
MeldC 2.0: A Reflective Object-Oriented Coordination Programming Language MELDC is a C-based, concurrent, object-oriented language built on a reflective architecture. The core of the architecture is a micro-kernel (the MELDC kernel), which encapsulates a minimum set of entities that cannot be modeled as objects. All components outside of the kernel are implemented as objects in MELDC itself and are modularized in the MELDC libraries. MELDC is reflective in three dimensions: structural, computational and architectural. The structural reflection indicates that classes and meta-classes are objects, which are written in MELDC. The computational reflection means that object behaviors can be computed and extended at runtime. The architectural reflection indicates that new features/properties (e.g., persistency and remoteness) can be constructed in MELDC.
Restriction:
must sign license, cannot use for commercial purposes
Ports:
Sun4/SunOS4.1 Mips/Ultrix4.2
Contact:
<MeldC@cs.columbia.edu>
Updated:
December 15th, 1992

Language:
Common Lisp
Package:
Memoization ?
Version:
?
Parts:
library
Author:
Marty Hall <hall@aplcenmp.apl.jhu.edu>
Location:
ftp://archive.cs.umbc.edu/pub/Memoization
Description:
Automatic memoization is a technique by which an existing function can be transformed into one that "remembers" previous arguments and their associated results
Updated:
November 30th, 1992

Language:
Dylan
Package:
Mindy
Version:
1.3
Parts:
byte-code compiler and interpreter, documentation, libraries
Author:
Bill Chiles <chiles@CS.CMU.EDU>
Location:
http://legend.gwydion.cs.cmu.edu:8001/gwydion/ ftp://legend.gwydion.cs.cmu.edu/afs/cs.cmu.edu/project/gwydion/release/mindy-1.3.tar.gz
Description:
A partial implementation of Dylan developed by the Gwydion Project at CMU for internal purposed pending the further development of a full implementation of Dylan. It is being released in the public domain as a vehicle for introducing the language to new users.
Requires:
Gcc, Gmake, Flex, Bison
Ports:
MACH on DECstation, HP-UX on HP 700, OSF1 on Alpha, Irix on SGI
Updated:
May 6th, 1995

Language:
Smalltalk
Package:
msgGUI
Version:
1.0
Parts:
library
Author:
Mark Bush <bush@ecs.ox.ac.uk>
Location:
ftp://ftp.comlab.ox.ac.uk/pub/Packages/mst/mstGUI-1.0.tar.Z
Description:
GUI for GNU Smalltalk. This this package contains the basics for creating window applications in the manner available in other graphical based Smalltalk implementations.
Updated:
December 14th, 1992

Language:
O'small
Package:
O'small
Version:
Initial release
Parts:
compiler?, parser/scanner specification
Author:
Andreas Hense <http://home.t-online.de/home/ahense/homepage.htm AHense@t-online.de>
Location:
ftp://home.t-online.de/home/ahense/*
Description:
A concise, formally defined object-oriented language suited for teaching object oriented programming.
Reference:
(Numerous references listed in software documentation) Christoph Boeschen. Christmas - An abstract machine for O'small. Master's thesis, Universit"at des Saarlandes, Fachbereich 14, June 1993.
Requires:
sml-yacc, sml-lex, sml-noshare (details in HowToGetML).
Ports:
Sun 4, SPARC (binaries provided).
Portability:
Probably portable to other Unix's.
Updated:
Feb 2000

Language:
Oberon2
Package:
Oberon-2 LEX/YACC definition
Version:
1.4
Parts:
parser(yacc), scanner(lex)
Author:
Stephen J Bevan <bevan@cs.man.ac.uk>
Location:
ftp://ftp.psg.com/pub/oberon/tools/o2lexyac.tar.Z http://panther.cs.man.ac.uk/~bevan/oberon
Description:
A LEX and YACC grammar for Oberon 2 based on the one given in the listed reference.
Reference:
The Programming Language Oberon-2 H. M\"{o}ssenb\"{o}ck, N. Wirth Institut f\"{u}r Computersysteme, ETH Z\"{u}rich January 1992 ftp://neptune.inf.ethz.ch/Oberon/Docu/Oberon2.Report.ps.Z
Restriction:
Portions of the source under copyright by U. Manchester.
Status:
un-officially supported
Updated:
July 6th, 1992

Language:
Common Lisp
Package:
PCL (Portable Common Loops)
Version:
8/28/92 PCL
Parts:
library
Author:
? Richard Harris <rharris@ptolemy2.rdrc.rpi.edu> ?
Location:
ftp://parcftp.xerox.com/pcl/*
Description:
A portable CLOS implementation. CLOS is the object oriented programming standard for Common Lisp. Based on Symbolics FLAVORS and Xerox LOOPS, among others. Loops stands for Lisp Object Oriented Programming System.
Ports:
Lucid CL 4.0.1, CMUCL 16e, ?
Status:
?
Updated:
September 2nd, 1992

Language:
Perl (Practical Extraction and Report Language)
Package:
perl
Version:
4.0 patchlevel 36
Parts:
interpreter, debugger, libraries, tests, documentation
Author:
Larry Wall <lwall@netlabs.com>
Location:
ftp://jpl-devvax.jpl.nasa.gov/pub/perl.4.0/*
os/2:
ftp://hobbes.nmsu.edu/pub/os2/all/unix/prog*/perl4019.zip
macintosh:
ftp://nic.switch.ch/software/mac/src/mpw_c/Mac_Perl_405_*
amiga:
ftp://wuarchive.wustl.edu/perl4.035.V010.*
vms:
ftp://ftp.pitt.edu/software/vms/perl/*
atari:
ftp://atari.archive.umich.edu/amiga/Languages/perl*
msdos:
ftp://ftp.ee.umanitoba.ca/pub/msdos/perl/* ftp://oak.oakland.edu/pub/msdos/perl/bperl*
windows nt:
ftp://ntperl.hip.com/ntperl/ntperl5.001.src.zip ftp://ntperl.hip.com/ntperl/ntperl5.001.i86.zip
mvs:
ftp://oozelum.csi.cam.ac.uk/dist/perl-4036.tar.Z
netware:
contact Jack Thomasson <Jack_Thomasson@Novell.COM>
Description:
perl is an interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks.
Reference:
"Programming Perl" by Larry Wall and Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1

"Learning Perl" by Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 1-56592-042-2

The perl FAQ, ftp from rtfm.mit.edu

Features:
+
very-high semantic density becuase of powerful operators like regular expression substitution
+
exceptions, provide/require
+
associative array can be bound to dbm files
+
no arbitrary limits
+
direct access to almost all system calls
+
can access binary data
+
many powerful idioms for common tasks
+
8-bit clean, including nulls
-
three variable types: scalar, array, and hash table
-
syntax requires variable and function prefix characters
Bugs:
comp.lang.perl; Larry Wall <lwall@netlabs.com>
Ports:
almost all unix, MSDOS, Mac, Amiga, Atari, OS/2, VMS, NT, MVS
Portability:
very high for unix, not so high for others
Discussion:
comp.lang.perl
macintosh:
mpw-perl-request@iis.ee.ethz.ch
Updated:
Febuary 7th, 1993

Language:
Perl
Package:
perl profiler.
Version:
? 1
Parts:
profiler
Author:
Anthony Iano-Fletcher <arf@maths.nott.ac.uk>
Location:
Source posted on comp.lang.perl in mid-June 1993
Description:
Profiles Perl scripts (mkpprof).

Collates data from Perl scripts (pprof)

Updated:
June 17th, 1993

Language:
BNF (yacc), Perl
Package:
perl-byacc
Version:
1.8.2
Parts:
parser-generator(perl)
Author:
Rick Ohnemus <Rick_Ohnemus@Sterling.COM>
Location:
ftp://ftp.sterling.com/local/perl-byacc.tar.Z
Description:
A modified version of byacc that generates perl code. Has '-p' switch so multiple parsers can be used in one program (C or perl).
Portability:
Should work on most (?) Unix systems. Also works with SAS/C 6.x on AMIGAs.
Updated:
January 24th, 1993

Language:
Perl (Practical Extraction and Report Language)
Package:
perl5
Version:
5.005
Parts:
interpreter, debugger, libraries, tests, documentation
Author:
Larry Wall <lwall@netlabs.com>
Location:
many!
africa:
ftp://ftp.is.co.za:/programming/perl/CPAN/
australia:
ftp://coombs.anu.edu.au:/pub/perl/CPAN/ ftp://ftp.mame.mu.oz.au:/pub/perl/CPAN/ ftp://ftp.tekotago.ac.nz:/pub/perl/CPAN/
austria:
ftp://ftp.tuwien.ac.at:/pub/languages/perl/CPAN/
canada:
ftp://mango.pinc.com:/pub/mirrors/CPAN/
czech rep.:
ftp://sunsite.mff.cuni.cz:/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
denmark:
ftp://sunsite.auc.dk:/pub/languages/perl/CPAN/
finland:
ftp://ftp.funet.fi:/pub/languages/perl/CPAN/
france:
ftp://ftp.ibp.fr:/pub/perl/CPAN/ ftp://ftp.pasteur.fr:/pub/computing/unix/perl/CPAN/
germany:
ftp://ftp.leo.org:/pub/comp/programming/languages/perl/CPAN/ ftp://ftp.rz.ruhr-uni-bochum.de:/pub/CPAN/
greece:
ftp://ftp.ntua.gr:/pub/lang/perl/
hungary:
ftp://ftp.kfki.hu:/pub/packages/perl/
japan:
ftp://ftp.lab.kdd.co.jp:/lang/perl/CPAN/
netherlands:
ftp://http://www.cs.ruu.nl/pub/PERL/CPAN/
new zealand:
ftp://ftp.tekotago.ac.nz:/pub/perl/CPAN/
poland:
ftp://ftp.pk.edu.pl:/pub/lang/perl/CPAN/
portugal:
ftp://ftp.ci.uminho.pt:/pub/lang/perl/
slovenia:
ftp://ftp.arnes.si:/software/perl/CPAN/
spain:
ftp://ftp.rediris.es:/mirror/CPAN/
sweden:
ftp://ftp.sunet.se:/pub/lang/perl/CPAN/
switzerland:
ftp://ftp.switch.ch:/mirror/CPAN/
taiwan:
ftp://dongpo.math.ncu.edu.tw:/perl/CPAN/
uk:
ftp://ftp.demon.co.uk:/pub/mirrors/perl/CPAN/ ftp://unix.hensa.ac.uk:/mirrors/perl-CPAN/
usa:
ftp://ftp.cdrom.com:/pub/perl/CPAN/ ftp://ftp.cis.ufl.edu:/pub/perl/CPAN/ ftp://uiarchive.cso.uiuc.edu:/pub/lang/perl/CPAN/ ftp://ftp.delphi.com:/pub/mirrors/packages/perl/CPAN/ ftp://ftp.uoknor.edu:/mirrors/CPAN/ ftp://ftp.sedl.org:/pub/mirrors/CPAN/ ftp://ftp.metronet.com:/pub/perl/ ftp://ftp.sterling.com:/CPAN/
Description:
Perl5 is a major rewrite and enhancement to perl4. It adds real data structures (by way of "references"), un-adorned subroutine calls, and method inheritance. It is repackaged with many extensions that can be dynamically loaded in the interpreter at runtime.
Features:
  • very-high semantic density becuase of powerful operators like regular expression substitution
  • no arbitrary limits
  • exceptions
  • variables can be tied to arbitrary code (like dbm)
  • direct access to almost all system calls
  • can access binary data
  • many powerful idioms for common tasks
  • 8-bit clean, including nulls
  • dynamic loading of extensions
  • constructors, destructors, multiple inheritence, and operator overloading
  • support for writing secure systems
  • many useful libraries and extensions
References:
http://language.perl.com/ http://www.perl.com/pace/pub "Programming Perl" by Larry Wall and Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1

"Learning Perl" by Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 1-56592-042-2

Extensions:
  • Tk - easy to use X11 interface
  • tcl - dynamically load Tcl into perl
  • Curses - sreen-based
  • CGI - easy web programming
  • perlmenu - http://www.cc.iastate.edu/perlmenu/
  • DBI - interfaces to many relational databases
  • Safe - secure execution of untrusted code
  • Penguin - distributed secure execution of untrusted code
Bugs:
Send bugs to <perl-bugs@perl.com>
Ports:
Almost all unix systems, Amiga, Atari, LynxOS, Macintosh, MPE, MS-DOS, MVS, Netware, OS/2, QNX, VMS, Windows 3.x, Windows NT (http://info.hip.com/ntperl/PerlFaq.htm)
Portability:
Extreamly high.
Updated:
July 8th, 1999

Language:
Postscript, Common Lisp
Package:
PLisp
Version:
?
Parts:
translator(Postscript), programming environment(Postscript)
Author:
John Peterson <peterson-john@cs.yale.edu>
Location:
?
Description:
?
Updated:
?

Language:
Proxy
Package:
Proxy
Version:
1.4
Parts:
interpreter, documentation
Author:
Burt Leavenworth <edlsoft@delphi.com>
Location:
ftp://ftp.cs.indiana.edu/pub/scheme-repository/scm/proxy.zip
Description:
Proxy is an interpreter dor a rapid prototyping/specification language with C/C++ like syntax based on modelling software using data structures such as sets, maps, sequences, structures and objectss. It allows the developer to make incremental changes to a design and test them immediately. Proxy is written in Scheme, provides a Scheme interface.

New in version 1.4 is a non-preemptive CSP-like multi-tasking facility.

Ports:
MS-DOS
Updated:
September 23rd, 1994

Language:
Python
Package:
Python
Version:
1.3
Parts:
interpeter, libraries, documentation, emacs macros
Author:
Guido van Rossum <guido@cwi.nl> OS/2 port by: Simon K Johnston <S.K.Johnston.bra0801@oasis.icl.co.uk>
Location:
ftp://ftp.cwi.nl/pub/python*
n.america:
ftp://gatekeeper.dec.com/pub/plan/python
n.america:
ftp://ftp.uu.net/languages/python
europe:
ftp://ftp.fu-berlin.de/pub/unix/languages/python
europe:
ftp://ftp.interet.com/pub/python
finland:
ftp://ftp.funet.fi/pub/languages/python
uk:
ftp://unix.hensa.ac.uk/uunet/languages/python
Description:
Python is a simple, yet powerful programming language that bridges the gap between C and shell programming, and is thus ideally suited for rapid prototyping. Its syntax is put together from constructs borrowed from a variety of other languages; most prominent are influences from ABC, C, Modula-3 and Icon. Python is object oriented and is suitable for fairly large programs.
Features:
+
packages
+
exceptions
+
good C interface
+
dynamic loading of C modules
+
methods, inheritance
-
arbitrary restrictions
+
supports the native windowing system with most platforms
-
does not support a common windowing api across platforms A beta release of the X extension for Python release 1.3 is now available by anonymous ftp://from ftp://ftp.cwi.nl/pub/sjoerd/python-X.tar.gz

Preformatted documentation is available from ftp://ftp.cwi.nl/pub/sjoerd/python-X-doc.ps.gz

Reference:
Python documentation http://www.python.org/
Extensions:
tkinter (Tcl's Tk), termios, curses, syslog, sybase
Ports:
unix, Macintosh, OS/2, Windows 3.1 (with Win32s), Windows NT
Discussion:
python-list-request@cwi.nl
Updated:
March 20th, 1996

Language:
Common Lisp
Package:
QT-OBJECTS
Version:
?
Parts:
library
Author:
Michael Travers <mt@media.mit.edu> and others
Location:
?
Description:
interface between MCL and QuickTime
Requires:
Macintosh Common Lisp
Discussion:
comp.lang.lisp.mcl
Updated:
April 18th, 1994

Language:
Sather
Package:
Sather 1.0
Version:
1.0.6
Parts:
compiler(->C), library, examples, documentation
Author:
International Computer Science Institute in Berkeley, CA
Location:
ftp://ftp.icsi.berkeley.edu/pub/sather/Sather-1.0.6.tar.gz
Description:
Sather is an object oriented language which aims to be simple, efficient, safe, and non-proprietary. One way of placing it in the "space of languages" is to say that it aims to be as efficient as C, C++, or Fortran, as elegant and safe as Eiffel or CLU, and support higher-order functions and iteration abstraction as well as Common Lisp, Scheme, or Smalltalk. Sather has parameterized classes, object-oriented dispatch, statically-checked strong (contravariant) typing, separate implementation and type inheritance, multiple inheritance, garbage collection, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather programs can be compiled into portable C code and can efficiently link with C object files. Sather has a very unrestrictive license which allows its use in proprietary projects but encourages contribution to the public library.
Conformance:
reference implementation
Reference:
http://www.icsi.berkeley.edu/Sather
Bugs:
Send email to sather-bugs@icsi.berkeley.edu
Requires:
ANSI C compiler such as gcc.
Ports:
SunOS 4.1.3, Ultrix 4.3, NetBSD 1.0_BETA, Linux 1.0.8s, IRIX 4.0.5H and 5.2, NEWSOS 4.1R MIPS RISC os 4.53C, SunOS 5.3, DEC OSF/1 V2.0, FreeBSD 1.1.5.1, 2.x, OS/2
Portability:
high.
Status:
actively developed
Discussion:
comp.lang.sather
Help:
sather-bugs@icsi.berkeley.edu
Announcements:
comp.lang.sather, also a mailing list; send mail to sather-request@icsi.berkeley.edu
Updated:
October 31st, 1994

Language:
Self
Package:
Self
Version:
3.0
Parts:
compiler, debugger, browser
Author:
The Self Group at Sun Microsystems & Stanford University
Location:
ftp://self.stanford.edu or http://self.stanford.edu
Description:
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.

Ports:
Sun-4 (SPARC) only [Sun-3 discontinued]
Portability:
compiler back end and runtime system system-dependent (source available)
Discussion:
mailing list -- self-interest@self.stanford.edu, send mail to self-request to be added.
Contact:
self-request@self.stanford.edu
Updated:
August 13th, 1992

Language:
Scheme
Package:
SOS (Scheme Object System)
Version:
?
Parts:
?
Author:
Chris Hanson ?
Location:
ftp://altdorf.ai.mit.edu/archive/cph/sos.tar.gz
Description:
?
Updated:
?

Language:
Scheme, Tk
Package:
STk
Version:
1.00
Parts:
interpreter
Author:
Gallesio Erick <eg@unice.fr>
Location:
ftp://kaolin.unice.fr/pub/STk-1.00.tar.gz
Description:
A Scheme interpreter blended with Ousterhout's Tk package. STk expresses all of Tk as scheme objects. STk includes a CLOS/Dylan-like OO extenstion, but the extension is slow.
Conformance:
almost R4RS
Ports:
SunOS 4.1.x, Ultrix/MIPS
Updated:
September 6th, 1993

Language:
C, C++
Package:
TenDRA
Version:
4.1.2
Parts:
compiler, grammar, library, documentation, examples, run-time
Author:
The Defence Evaluation and Research Agency.
Location:
http://alph.dera.gov.uk/TenDRA/
Description:
TenDRA is an implementation of TDF, which was adopted by the Open Group, where it is called ANDF. Its core is a binary format, TDF, which can be architecture-neutral or architecture-specific, and which can be conveniently manipulated.
Conformance:
They claim, very conformant. The package includes implementation-independent descriptions of the ISO C API, POSIX, XPG3 and other APIs.
Reference:
http://www.gr.osf.org/andf/
Features:
+
Well-documented; clean implementation
+
includes the relevant tools (lexer, parser generator, etc.)
-
Does not have an extensive C++ library (either API or implementation), and producing this is probably non-trivial
+
can dump symbol table to file, providing the raw materials for further analysis (type, function, variable, usage, etc.)
+
can perform analysis for portability, with fine-grained control
+
reports syntax errors with ISO reference
+
producers (C/C++ to TDF translators) are portable
-
installers (TDF to executable translators, and API implementations) exist for a limited number of platforms
Contact:
Enquiries to R.Andrews@eris.dera.gov.uk
Updated:
1998

Language:
C, ANSI C, C++
Package:
The Roskind grammars
Version:
cpp5 (cf2.0)
Parts:
parser(yacc), documenation
Author:
Jim Roskind <jar@netscape.com>
Location:
ftp://ftp.infoseek.com/ftp/pub/c++grammar/*
japan:
ftp://ftp.sra.co.jp/.a/pub/cmd/c++grammar/c++grammar2.0.tar.gz
Description:
The C grammar is CLEAN, it does not use %prec, %assoc, and has only one shift-reduce conflict. The C++ grammar has a few conflicts.

Also included is an extension to byacc that produces graphical parse trees automatically.

Conformance:
the C grammar is true ANSI; the C++ grammar supports cfront 2.0 constructs.
Requires:
byacc 1.8 (for graphical parse trees)
Status:
actively developed
Updated:
July 1st, 1991

Language:
Dylan
Package:
Thomas
Version:
1.1
Parts:
translator(Scheme)
Author:
Matt Birkholz <Birkholz@crl.dec.com>, Jim Miller <JMiller@crl.dec.com>, Ron Weiss <RWeiss@crl.dec.com>
Location:
ftp://gatekeeper.pa.dec.com/pub/DEC/Thomas ftp://cambridge.apple.com/pub/dylan/Thomas
Description:
Thomas, a compiler written at Digital Equipment Corporation's Cambridge Research Laboratory compiles a language compatible with the language described in the book "Dylan(TM) an object-oriented dynamic language" by Apple Computer Eastern Research and Technology, April 1992. It does not perform well. Thomas is NOT Dylan(TM).
Requires:
Scheme
Ports:
MIT's CScheme, DEC's Scheme->C, Marc Feeley's Gambit, Mac, PC, Vax, MIPS, Alpha, 680x0
Updated:
April 18th, 1994

Language:
Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
Package:
Tim Budd's C++ implementation of Kamin's interpreters
Version:
?
Parts:
interpretors, documentation
Author:
Tim Budd <budd@cs.orst.edu>
Location:
? ftp://cs.orst.edu/pub/budd/kamin/*.shar
Description:
a set of interpretors written as subclasses based on "Programming Languages, An Interpreter-Based Approach", by Samuel Kamin.
Requires:
C++
Status:
?
Contact:
Tim Budd <budd@fog.cs.orst.edu>
Updated:
September 12th, 1991

Language:
Trellis
Package:
TNT
Version:
0.2 beta
Parts:
compiler, library, run-time system
Author:
?
Location:
ftp://tk.telematik.informatik.uni-karlsruhe.de/pub/tnt/tnt-0.1.tar.gz
Desciption:
Trellis is an object-oriented language developed within Digital Equipment Corp. The language features compile-time type checking, multiple inheritance, parametrized types, exception handling and iterators.

Currently the run-time system does not support garbage collection or threads.

Requires:
building from source: Cocktail V9208, GNU make V3.68, patch, makedepend
Restriction:
may not be used for non-academic, non-research, non-internal business purposes
Ports:
OSF/1, HP-UX, Linux, Ultrix, SunOS
Contact:
bruno@tk.uni-linz.ac.at
Updated:
October 27th, 1994

Language:
TOM
Package:
tom
Version:
0.99.2
Parts:
compiler(->C), various tools, documentation, examples, test suite, run-time library, class libraries.
Author:
Pieter J. Schoenmakers <tiggr@gerbil.org>
Location:
ftp://ftp.gerbil.org/pub/tom/ for source distribution and binaries for selected platforms.
Description:
TOM is an object oriented language.
Conformance:
the C files generated by the compiler need to be processed by GNU CC. The runtime library needs GCC as well; the compiler and some other tools are written in Objective-C.
Reference:
http://www.gerbil.org/tom/doc/ lists more documentation.
Features:
TOM promotes usability, as opposed to reusability.

To this extent:

  • classes are extensible entities: a class is fully defined by its main definition and any extensions defined for it,
  • an extension can add and replace methods. In support of complex added behaviour, an extension can add instance variables. To promote object reusability, an extension can introduce additional superclasses,
  • extensions can be added to a program at compile, link, or run time.
Bugs:
mail them to <tiggr@gerbil.org>
Restriction:
tools: GNU General Public License, libraries: GNU Library General Public License.
Requires:
to build or use: GNU CC, GNU Make.
Ports:
hppa-hpux, i386-freebsd, i386-linux, i386-nextstep, i386-rhapsody, m68k-nextstep, ppc-linux, ppc-rhapsody, alpha-linux, sgi-mips.
Portability:
very high: porting to a new machine takes a few hours. Provide the author with an account on the UNIX machine of your choice, and the port will be created (and maintained if the account persists).
Status:
actively developed
Discussion:
tom-request@gerbil.org
Help:
tiggr@gerbil.org
Support:
tiggr@gerbil.org
Announcements:
comp.lang.misc, comp.os.linux.announce, discussion mailing list <tom-request@gerbil.org>
Updated:
July 14th, 1998

Language:
Python
Package:
vpApp
Version:
0.2
Parts:
Class Library, User Reference
Author:
Per Spilling <per@cwi.nl> Real Name <email@address>
Location:
ftp.cwi.nl in /pub/python/vpApp.tar.gz.
Description:
vpApp = visual-programming application. It supports the building of applications in Python.
Requires:
Python interpreter with built-in X support.
Updated:
May 6th, 1994

Language:
Common Lisp
Package:
WCL
Version:
2.14
Parts:
?, shared library runtime, source debugger
Author:
Wade Hennessey <wade@leland.Stanford.EDU>
Location:
ftp://sunrise.stanford.edu/pub/wcl/* ftp://gummo.stanford.edu/miscellany/wcl
Description:
A common lisp implementation as a shared library. WCL Is not a 100% complete Common Lisp, but it does have the full development environment including dynamic file loading and debugging. A modified version of GDB provides mixed-language debugging. A paper describing WCL was published in the proceedings of the 1992 Lisp and Functional Programming Conference.
Requires:
GNU C 2.1 (not 2.2.2)
Ports:
Sparc/SunOS
Discussion:
<wcl-request@sunrise.stanford.edu>
Contact:
<wcl@sunrise.stanford.edu>
Updated:
October 28th, 1992

Language:
C, C++
Package:
Xcoral
Version:
2.5
Parts:
editor
Author:
?
Location:
ftp://ftp.x.org/contrib/editors/xcoral*
europe:
ftp://ftp.inria.fr/X/contrib-R5/clients/xcoral*
Description:
Xcoral is a multiwindow mouse-based text editor, for X Window System, with a built-in browser to navigate through C functions and C++ classes hierarchies... Xcoral provides variables width fonts, menus, scrollbars, buttons, search, regions, kill-buffers and 3D look. Commands are accessible from menus or standard key bindings. Xcoral is a direct Xlib client and run on color/bw X Display. Also includes HTML and Latex modes.
Contact:
Lionel Fournigault <Lionel.Fournigault@aar.alcatel-alsthom.fr>
Updated:
December 21st, 1995

Language:
C, C++
Package:
xxgdb
Version:
1.06
Parts:
X11 front end for gdb
Author:
?
Location:
retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
Description:
?
Contact:
Pierre Willard <pierre@la.tce.com>
Updated:
Febuary 22nd, 1992

This site is supported by David Sharnoff and Bryan Miller with some help from Google Adwords.

Please send updates to free-compilers@sharnoff.org

The HTML is maintained by David Muir Sharnoff and the entries themselves are currently maintained by Bryan Miller.

Copyright (c) 1992-1998 David Muir Sharnoff, All Rights Reserved
Copyright (c) 1994-1996, Steven Allen Robenalt, All Rights Reserved