From: SMTP%"everhart@DMC.COM" 6-JAN-1994 21:07:25.74 To: EVERHART CC: Subj: compilrs1 Date: Thu, 06 Jan 1994 21:05:28 EST From: everhart@DMC.COM To: everhart@gce.com Message-ID: <00978260.3A1D9E80.27924@DMC.COM> Subject: compilrs1 From: DMC::EVERHART 6-JAN-1994 19:25:27.02 To: everhart CC: Subj: Catalog of compilers, interpreters, and other language tools [p1of4] X-News: thehulk comp.compilers:717 From: free-compilers@idiom.berkeley.ca.us (Steve Robenalt) Subject:Catalog of compilers, interpreters, and other language tools [p1of4] Date: Sat, 1 Jan 1994 12:00:16 GMT Message-ID: Archive-name: free-compilers/part1 Last-modified: 1993/12/30 Version: 6.2 ------------------------------------------------------------------------------- Catalog of Free Compilers and Interpreters. ------------------------------------------------------------------------------- This list catalogues freely available software for language tools, which includes the following: compilers, compiler generators, interpreters, translators, important libraries, assemblers, etc. -- things whose user interface is a language. Natural language processing tools may also be included. This list is primarily aimed at developers rather than researchers, and consists mainly of citations for production quality systems. There is some overlap of coverage between this document and other lists and catalogs. See the references section for a list... All the listed items should be free and come with source code, exceptions have generally been deleted from the list in the past. If you find any such items in the list let me know and I'll remove them. The latest version of the catalog can be ftp'ed: get pub/compilers-list/free-compilers from idiom.berkeley.ca.us. This catalog is available through World Wide Web. A searchable hypertext version can be accessed through http://cui_www.unige.ch/freecomp. Not all entries have complete citations. Some fields are filled with question marks (?). Fields with both the ? and an entry are implicit requests for confirmation. Also, specific questions will often be asked [in brackets --ed]. Please send updates to . If you fill out the template (see the first entry in the tools section) it is a lot easier for me to keep things going. Thanks, -Steve Robenalt (Now maintaining the list) ------------------------------------------------------------------------------- overview (table of contents) ------------------------------------------------------------------------------- introduction overview (table of contents) changes and history prototype entry tools scripting languages functional languages C and variants compiled, imperitive languages object oriented languages LISP family langauges Wirth family languages logic programming languages concurrent, parellel, and simulation languages Forth family languages compiler generators and related tools mathematical tools and languages electrical engineering languages document formatting languages assemblers macro preprocessors special purpose languages natural languages curiosities unable to classify due to lack of knowledge references archives cross-reference ------------------------------------------------------------------------------- changes and history ------------------------------------------------------------------------------- This document grew out of David Muir Sharnoff filing away postings that he saw (mostly Ed Vielmetti's postings to comp.archives) during 1991 and the first half of 1992. At the Summer 1992 USENIX Technical Conference, the other attendees of the archivits BOF convinced David to compile his data into a posting. David posted for about one year, then turned the list over to Mark Hopkins. Mark Hopkins took care of it for the summer of 1993 and then gave it back to David Sharnoff when it dropped off the net. Steve Robenalt has taken over the list maintenance from David, staring with this (January '94) edition, but Dave's organization, Idiom Consulting, remains as the focal point for information to be submitted. For this version the changes are: Minimal changes are included in this post. I'm getting up to speed on the logistics of maintaining the list. but a system shutdown locked up most of my info/edits for the holidays. Expect more next month as I will be able to access all of the previous edits. I also plan to start filling in some of the blanks in the list as time permits. language package -------- ------- new listings: Issabelle Issabelle-93 libm fdlibm (freely distributable math library) Web CWeb 3.1 (C++ support, partial listing) Web CWeb 3.x (ANSI C version) new versions: haskell glasgow haskell COCOL COCO/R (New Modula-2 version) deletions: edits: Attribute grammar Ox (Updated entry from author) new cross-references: Python Python new references: new archives: ------------------------------------------------------------------------------- prototype entry ------------------------------------------------------------------------------- Every entry should at least have the fields marked with two asterixes (**). language: **Reference Entry Language: what the software compiles/interprets... package: **The name of the package version: **Its current version parts: **compiler, assembler, interpreter, translator, grammar(yacc, lex), library, documentation, examples, assembler, simulator, tutorial, test suite, byte-code compiler, run-time, translator(from->to)... Compilers that use C as an intermediate lanaguage should be noted as "compiler(->C)". Compilers that compile into a coded representation that is interpreted by a runtime module should be noted as "bytecode compiler". Do not say "source code" -- if source is not included, do not send an entry at all! author: **the creator of the package. Email addresses are in the form "Real Name ". Surface mail addresses are not used unless there is no email address. how to get: **where to get the source, how to get it -- usually an FTP site or two. May have subheaders for specific areas or different ports of the software (don't overdo this!): Only official sites should be listed. The format for ftp directives is "ftp dir/file from host". No IP address is given. N.America: Sites for North Americans. Europe: Sites Europeans should use Japan: Sites for people in Japan OS/2: Sites with OS/2 ports. description: **what the package is, possibly including some history A short review encouraged, but no propaganda please. conformance: how well does it conform to the existing Standard, if one exists reference: research references and other external documentation. features: salient features not listed in the description. bugs: known bugs (also: where to go to find/report bugs) restriction: restrictions using the software will place on the user. requires: what is needed to install it. A C compiler is assumed. ports: where it has been installed portability: how system-independent is it, system dependencies. status: development status (active, history, supported, etc) discussion: where discussion about the package takes place help: where help may be gotten from support: where support may be gotten from contributions: possible requests for money contributions (but no shareware) announcements: where new releases are announced contact: who to reach concerning the package (if not author) updated: **last known update to the package, not time of the update to the entry in the catalog! In addition to the above, in entries for categories, and languages, cross-references can be made. cref: cross-reference to a category lref: cross-reference to a language iref: (language it's filed under in parenthesis) cross-reference to an implamentation ------------------------------------------------------------------------------- tools ------------------------------------------------------------------------------- scripting languages ------------------------------------------------------------------------------- category: scripting languages description: These are languages that are primarily interpreted, and on unix sytems, can ususally be invoked directly from a text using #!. language: ABC package: ABC version: 1.04.01 parts: interpreter/compiler author: Leo Geurts, Lambert Meertens, Steven Pemberton how to get: ftp programming/languages/abc/* from ftp.eu.net or ftp.nluug.nl description: ABC is an imperative language embedded in its own environment. It is interactive, structured, high-level, very easy to learn, and easy to use. It is suitable for general everyday programming, such as you would use BASIC, Pascal, or AWK for. It is not a systems-programming language. It is an excellent teaching language, and because it is interactive, excellent for prototyping. ABC programs are typically very compact, around a quarter to a fifth the size of the equivalent Pascal or C program. However, this is not at the cost of readability, on the contrary in fact. reference: "The ABC Programmer's Handbook" by Leo Geurts, Lambert Meertens and Steven Pemberton, published by Prentice-Hall (ISBN 0-13-000027-2) "An Alternative Simple Language and Environment for PCs" by Steven Pemberton, IEEE Software, Vol. 4, No. 1, January 1987, pp. 56-64. ports: unix, MSDOS, atari, mac discussion: abc-list-request@cwi.nl contact: abc@cwi.nl updated: 1991/05/02 language: awk (new) package: mawk version: 1.1.3 parts: interpreter author: Mike Brennan how to get: ftp public/mawk* from oxy.edu description: ? conformance: superset + RS can be a regular expression features: + faster than most new awks ports: sun3,sun4:sunos4.0.3 vax:bsd4.3,ultrix4.1 stardent3000:sysVR3 decstation:ultrix4.1 msdos:turboC++ status: actively developed contact: Mike Brennan updated: 1993/03/14 language: awk (new) package: GNU awk (gawk) version: 2.15.3 parts: interpreter, documentation author: David Trueman and Arnold Robbins how to get: ftp gawk-2.15.tar.Z from a GNU archive site description: ? conformance: superset including some Plan 9 features ports: unix, msdos:msc5.1 status: activly developed updated: 1993/11/08 language: BASIC package: bwBASIC (Bywater BASIC interpreter) version: 2.10 parts: interpreter, shell, ? author: Ted A. Campbell how to get: comp.sources.misc volume 40 description: The Bywater BASIC Interpreter (bwBASIC) implements a large superset of the ANSI Standard for Minimal BASIC (X3.60-1978) implemented in ANSI C, and offers a simple interactive environ- ment including some shell program facilities as an extension of BASIC. The interpreter has been compiled successfully on a range of ANSI C compilers on varying platforms with no alterations to source code necessary. ports: DOS, Unix, Acorn's RISC OS updated: 1993/10/29 language: BASIC package: ? basic ? version: ? parts: paser(yacc), interpreter author: ? how to get: comp.sources.unix archives volume 2 description: ? updated: ? language: BASIC package: ? bournebasic ? version: ? parts: interpreter author: ? how to get: comp.sources.misc archives volume 1 description: ? updated: ? language: BASIC package: ubasic version: 8 parts: ? author: Yuji Kida how to get: ? ask archie ? description: ? reference: reviewed in Notices of the A.M.S #36 (May/June 1989), and "A math-oriented high-precision BASIC", #38 (3/91) contact: ? updated: 1992/07/06 language: BASIC package: ? version: ? parts: interpreter author: ? how to get: ftp pub/unix-c/languages/basic/basic.tar-z from oak.oakland.edu description: public domain version of DEC's MU-Basic with Microsoft Basic mixed together contact: ? updated: ? language: Bourne Shell package: ash version: ? parts: interpreter, manual page author: Kenneth Almquist how to get: ftp from any 386BSD, NetBSD, or FreeBSD archive linux: ftp pub/linux/ports/ash-linux-0.1.tar.gz from ftp.win.tue.nl description: A Bourne Shell clone. It works pretty well. For running scripts, it is sometimes better and sometimes worse than Bash. ports: 386BSD, NetBSD, FreeBSD, Linux updated: ? language: csh (C-Shell) package: tcsh version: 6.04 parts: interpreter author: Christos Zoulas how to get: ftp ? from ftp.spc.edu description: a modified C-Shell with history editing ports: unix, OpenVMS updated: 1993/07/09 language: ERGO-Shell (a window-based Unix shell) package: ERGO-Shell version: 2.1 parts: interpreter author: Regine Freitag how to get: ftp gmd/ergo/? from ftp.gmd.de description: An ergonomic window-based Unix shell for software engineers. [Can one program in ERGO-Shell? --ed] bugs: Relative path names are not expanded on the SUN 3 port, expansion ability on SUN 4 only on certain conditions. requires: Needs X-windows (X11R4) or OSF/Motif (revision 1.1) ports: Sun 4 contact: Dr. Wolfgang Dzida, GMD or the author updated: 1993/06/04 language: es (a functional shell) package: es version: 0.84 parts: interpreter author: Byron Rakitzis , Paul Haahr how to get: ftp pub/es/es-0.84.tar.Z from ftp.sys.utoronto.ca description: shell with higher order functions + builtin features implemented as redefineable functions updated: 1993/04/30 language: Glish package: glish version: 2.4.1 parts: interpreter, C++ class library, user manual author: Vern Paxson how to get: ftp glish/glish-2.4.1.tar.Z from ftp.ee.lbl.gov description: Glish is an interpretive language for building loosely-coupled distributed systems from modular, event-oriented programs. These programs are written in conventional languages such as C, C++, or Fortran. Glish scripts can create local and remote processes and control their communication. Glish also provides a full, array-oriented programming language (similar to S) for manipulating binary data sent between the processes. In general Glish uses a centralized communication model where interprocess communication passes through the Glish interpreter, allowing dynamic modification and rerouting of data values, but Glish also supports point-to-point links between processes when necessary for high performance. reference: "Glish: A User-Level Software Bus for Loosely-Coupled Distributed Systems," Vern Paxson and Chris Saltmarsh, Proceedings of the 1993 Winter USENIX Conference, San Diego, CA, January, 1993. requires: C++ ports: SunOS, Ultrix, HP/UX (rusty) updated: 1993/11/01 language: ici package: ici version: ? parts: interpreter, documentation, examples author: Tim Long how to get: ftp pub/ici.cpio.Z from extro.ucc.su.oz.au description: ICI has dynamic arrays, structures and typing with the flow control constructs, operators and syntax of C. There are standard functions to provided the sort of support provided by the standard I/O and the C libraries, as well as additional types and functions to support common needs such as simple data bases and character based screen handling. features: + direct access to many system calls + structures, safe pointers, floating point + simple, non-indexed built in database + terminal-based windowing library ports: Sun4, 80x86 Xenix, NextStep, MSDOS portability: high status: actively developed. discussion: send "help" to listserv@research.canon.oz.au contact: Andy Newman updated: 1992/11/10 language: Icon package: icon version: 8.7 (8.5, 8.0 depending on platform) parts: interpreter, compiler (some platforms), library (v8.8) author: Ralph Griswold how to get: ftp icon/* from cs.arizona.edu description: Icon is a high-level, general purpose programming language that contains many features for processing nonnumeric data, particularly for textual material consisting of string of characters. - no packages, one name-space - no exceptions + object oiented features + records, sets, lists, strings, tables + unlimited line length - unix interface is primitive + co-expressions reference: "The Icon Programmming Language", Ralph E. Griswold and Madge T. Griswold, Prentice Hall, seond edition, 1990. "The Implementation of the Icon Programmming Language", Ralph E. Griswold and Madge T. Griswold, Princeton University Press 1986 ports: Amiga, Atari, CMS, Macintosh, Macintosh/MPW, MSDOS, MVS, OS/2, Unix (most variants), VMS, Acorn discussion: comp.lang.icon contact: icon-project@cs.arizona.edu updated: 1992/08/21 language: Icon iref: (BNF) ibpag2 language: IVY package: Ivy version: experimental parts: interpreter author: Joseph H Allen how to get: alt.sources 1993/09/28 description: A language with a pleasant syntax compared to perl, tcl or lisp. It has nice features like low punctuation count, blocks indicated by indentation, and similarity to normal procedural languages. This language started out as an idea for an extension language for the editor JOE. updated: 1993/09/28 language: Korn Shell package: SKsh version: 2.1 parts: interpreter, utilities author: Steve Koren how to get: ftp pub/amiga/incom*/utils/SKsh021.lzh from hubcap.clemson.edu description: SKsh is a Unix ksh-like shell which runs under AmigaDos. it provides a Unix like environment but supports many AmigaDos features such as resident commands, ARexx, etc. Scripts can be written to run under either ksh or SKsh, and many of the useful Unix commands such as xargs, grep, find, etc. are provided. ports: Amiga updated: 1992/12/16 language: Korn Shell package: Bash (Bourne Again SHell) version: 1.13.4 parts: parser(yacc), interpreter, documentation author: Brian Fox how to get: ftp bash-1.12.tar.Z from a GNU archive site description: Bash is a Posix compatable shell with full Bourne shell syntax, and some C-shell commands built in. The Bourne Again Shell supports emacs-style command-line editing, job control, functions, and on-line help. bugs: gnu.bash.bug, bug-bash@prep.ai.mit.edu restriction: GNU General Public License updated: 1993/11/15 language: Korn Shell package: pdksh version: 4.9 parts: interpreter author: Simon J. Gerraty how to get: comp.sources.misc volume 4 description: It is not intended to be the ultimate shell but rather a usable ksh work alike. conformance: Almost identical to ksh88, but missing arrays contact: Simon J Gerraty (zen.void.oz.au is down) ports: Sun, 386bsd, ? updated: 1993/10/11 language: Perl5 (Practical Extraction and Report Language) package: perl version: 5.0 alpha 3 parts: interpreter, debugger, libraries, tests, documentation author: Larry Wall how to get: ftp pub/perl5.0/* from ftp.netlabs.com 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 not stable (yet). ports: SunOS updated: 1993/11 language: Perl (Practical Extraction and Report Language) package: perl version: 4.0 patchlevel 36 parts: interpreter, debugger, libraries, tests, documentation author: Larry Wall how to get: ftp pub/perl.4.0/* from jpl-devvax.jpl.nasa.gov OS/2 port: ftp pub/os2/all/unix/prog*/perl4019.zip from hobbes.nmsu.edu Mac port: ftp software/mac/src/mpw_c/Mac_Perl_405_* from nic.switch.ch Amiga port: ftp perl4.035.V010.* from wuarchive.wustl.edu VMS port: ftp software/vms/perl/* from ftp.pitt.edu Atari port: ftp amiga/Languages/perl* from atari.archive.umich.edu DOS port: ftp pub/msdos/perl/* from ftp.ee.umanitoba.ca DOS port#2: ftp pub/msdos/perl/bperl* from oak.oakland.edu Windows NT: ftp ? from rhino.microsoft.com MVS: ftp dist/perl-4036.tar.Z from oozelum.csi.cam.ac.uk Netware: contact Jack Thomasson 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 [??? --ed] 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 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: 1993/02/07 language: perl, awk, sed, find package: a2p, s2p, find2perl version: ? parts: translators(perl) author: Larry Wall how to get: comes with perl description: translators to turn awk, sed, and find programs into perl programs. updated: ? language: perl, yacc package: perl-byacc version: 1.8.2 parts: parser-generator(perl) author: Rick Ohnemus how to get: ftp local/perl-byacc.tar.Z from ftp.sterling.com 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: 1993/01/24 language: Perl package: perl profiler. version: ? 1 parts: profiler author: Anthony Iano-Fletcher how to get: Source posted on comp.lang.perl in mid-June 1993 description: Profiles Perl scripts (mkpprof). Collates data from Perl scripts (pprof) updated: 1993/06/17 language: Perl package: Dylperl version: ? author: Roberto Salama how to get: posted to comp.lang.perl, 1993/08/11, description: A dynamic linking package for perl. Dynamically-loaded functions are accessed as if they were user-defined funtions. This code is based on Oliver Sharp's May 1993 article in Dr. Dobbs Journal (Dynamic Linking under Berkeley UNIX). ports: ? updated: 1993/08/11 language: Perl package: curseperl version: ? author: Larry Wall how to get: comes with perl description: A curses library for perl updated: ? language: Python package: Python version: 0.9.9 parts: interpeter, libraries, documentation, emacs macros author: Guido van Rossum how to get: ftp pub/python* from ftp.cwi.nl N.America: ftp pub/? from wuarchive.wustl.edu 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. + packages + exceptions + good C interface + dynamic loading of C modules - arbitrary restrictions ports: unix and Macintosh discussion: python-list-request@cwi.nl updated: 1993/07/31 language: Q (also small subsets of Common Lisp and Scheme) package: Q version: ? 1 parts: interpreter, compiler framework, libraries, documentation author: Per Bothner how to get: ftp pub/Q.* from ftp.cygnus.com description: Q is a very high-level programming language, and a test-bed for programming language ideas. Where APL uses arrays to explicit looping, Q uses generalized sequences (finite or infinite, stored or calculated on demand). It has lexical scoping, and some support for logical and constraint programming. The syntax was designed for convenient interactive use. A macro facility together with primitives to run programs is used to make an interactive command language with full shell features. The Q system is written in C++, and its run-time code may be useful to people implementing other languages. ports: Linux and SUN 4 portability: Should work on 32-bit Unix-like systems updated: 1993/06/07 language: REXX package: The Regina Rexx Interpreter version: 0.05i parts: interpreter, documentation, test programs author: Anders Christensen how to get: ftp pub/rexx/regina-0.05g.tar.Z from flipper.pvv.unit.no N.America: ftp pub/freerexx/regina/regina-0.05d.tar.Z from rexx.uwaterloo.ca description: A Rexx interpreter. The VMS version has an almost complete set of DCL lexical functions in the interpreter. Ports to MS-DOS and OS/2 exist by lack special support for these platforms. conformance: Almost completely to Rexx Language Level 4.00 with some Rexx SAA API extensions. restriction: GNU General Public License ports: Unix, VMS, MS-DOS (partial), OS/2 (partial) discussion: comp.lang.rexx updated: 1993/10/15 language: REXX package: ? version: 102 parts: interpreter author: ? al ? how to get: ftp alrexx/rx102.tar.Z from rexx.uwaterloo.ca USA: ftp ? from tony.cat.syr.edu description: ? requires: C++ ports: unix discussion: comp.lang.rexx contact: ? updated: 1992/05/13 language: REXX package: imc version: 1.3 parts: interpreter author: ? how to get: ftp pub/freerexx/imc/rexx-imc-1.3.tar.Z from rexx.uwaterloo.ca description: ? ports: SunOS updated: ? language: sed package: GNU sed version: 2.03 parts: interpreter, ? author: Tom Lord how to get: ftp sed-* from a GNU archive site description: A SED interpreter. Sed is a stream editing filter language. bugs: bug-gnu-utils@prep.ai.mit.edu updated: 1993/08/09 language: rc (Plan 9 shell) package: rc version: 1.4 parts: interpretor author: Byron Rakitzis how to get: ftp pub/rc/* from ftp.white.toronto.edu description: a free implementation of the Plan 9 shell. discussion: rc-request@hawkwind.utcs.toronto.edu updated: 1992/05/26 language: S-Lang package: slang version: 0.94 parts: interpreter, documentation, examples author: John E. Davis how to get: ftp pub/slang/* from amy.tch.harvard.edu description: A small but highly functional embedded interpreter. S-Lang was a stack-based postfix language resembling Forth and BC/DC with limited support for infix notation. Now it has a C-like infix syntax. Arrays, Stings, Integers, Floating Point, and Autoloading are all suported. The editor JED embeds S-lang. restrictions: GNU Library General Public License ports: MSDOS, Unix, VMS portability: Must be compiled with large memory model on MSDOS. updated: 1993/06/12 language: Snobol4 package: SIL (Macro Implementation of SNOBOL4) version: 3.11 parts: ? author: ? how to get: ftp snobol4/* from cs.arizona.edu description: ? contact: snobol4@arizona.edu updated: 1986/07/29 language: Snobol4 package: vanilla version: ? parts: ? author: Catspaw, Inc. how to get: ftp snobol4/vanilla.arc from cs.arizona.edu description: ? ports: MSDOS contact: ? updated: 1992/02/05 language: ssh (Steve's Shell) package: ssh version: 1.7 parts: interpreter author: Steve Baker with help from Thomas Moore how to get: comp.sources.unix volume 26 description: A unix shell with a lot of csh/ksh-like features. ports: sequent, sun, next, ultrix, bsdi updated: 1993/04/15 language: TCL (Tool Command Language) package: Tcl version: 7.2 parts: interpreter, libraries, tests, documentation author: John Ousterhout how to get: ftp ucb/tcl/tcl* from ftp.cs.berkeley.edu MSDOS: ftp ? from cajal.uoregon.edu Macintosh: ftp pub/ticl from bric-a-brac.apple.com Macintosh: ftp pub/tcl/distrib/MacTcl7.0.sea.* from harbor.ecn.purdue.edu Examples: ftp tcl/* from barkley.berkeley.edu Kanji: ftp pub/lang/tcl/jp/tk3.2jp-patch.Z from srawgw.sra.co.jp description: TCL started out as a small language that could be embedded in applications. It has now been extended into more of a general purpose shell type programming language. TCL is like a text-oriented Lisp, but lets you write algebraic expressions for simplicity and to avoid scaring people away. + may be used as an embedded interpreter + exceptions, packages (called libraries) - only a single name-space + provide/require - no dynamic loading ability + 8-bit clean - only three variable types: strings, lists, associative arrays bugs: ? ports: ? discussion: comp.lang.tcl updated: 1993/11/15 language: TCL, Tk package: Tk version: 3.5 parts: Tcl interpreter, Tk? author: John Ousterhout how to get: ftp ucb/tcl/tk* from ftp.cs.berkeley.edu description: Tk is a X11 gui library that is designed to interoperate with TCL. It provides a very easy way to create sophisticated applications. The appearence of Tk is very similar to Motif. updated: 1993/11/15 language: TCL package: BOS - The Basic Object System version: 1.31 parts: library author: Sean Levy how to get: ftp tcl/? from barkley.berkeley.edu 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: 1992/08/21 language: TCL package: Tcl-DP version: 3.0 parts: library author: Larry Rowe ? how to get: ftp pub/multimedia/Tcl-DP from toe.cs.berkeley.edu description: Tcl-DP extends the "send" by removing the restriction that you can only send to other clients of the same X11 server. [could someone give a better description? --ed] updated: ? language: TCL package: Wafe version: 0.95 parts: interface author: Gustaf Neumann how to get: ftp pub/src/X11/wafe/wafe-0.95.tar.gz from ftp.wu-wien.ac.at description: Wafe (Widget[Athena]front end) is a package that implements a symbolic interface to the Athena widgets (X11R5) and OSF/Motif. A typical Wafe application consists of two parts: a front-end (Wafe) and an application program which runs typically as a separate process. The distribution contains sample application programs in Perl, GAWK, Prolog, TCL, C and Ada talking to the same Wafe binary. discussion: send "subscribe Wafe " to listserv@wu-wien.ac.at portability: very high, just needs X11R4 or X11R5. updated: 1993/07/01 language: TCL package: Extended Tcl (tclx) version: 7.2a parts: library author: Mark Diekhans , Karl ? how to get: ftp pub/tcl/beta/tclX7.1a-B5.tar.Z from ftp.neosoft.com description: Extended Tcl adds statements to the TCL language to provide high-level access unix system primitives. contact: tcl-project@NeoSoft.com updated: 1993/11/19 language: TCL package: tcl-debug version: ? parts: debugger author: Don Libes how to get: ftp pub/expect/tcl-debug.tar.Z from ftp.cme.nist.gov description: A debugger for Tcl that can be easily embedded in other applications. It is included with many other Tcl libraries. updated: ? language: TCL package: Cygnus Tcl Tools version: Release-930124 parts: ? author: david d 'zoo' zuhn how to get: ftp pub/tcltools-* from cygnus.com description: A rebundling of Tcl and Tk into the Cyngus GNU build framework with 'configure'. updated: 1993/01/24 language: Z-shell package: zsh version: 2.3.1 (2.4 in beta) parts: interpreter author: Paul Falstad how to get: ftp pub/bas/zsh/zsh-*.tar.z from carlo.phys.uva.nl description: zsh is most similar to ksh, while many of the additions are to please csh users. features: + multi-line commands editable as a single buffer, + variable editing (vared), + command buffer stack, + recursive globbing, + manipulation of arrays, + spelling correction. ports: Berkeley-based Unix, SVR4-based Unix discussion: zsh-request@cs.uow.edu.au contact: zsh-list@cs.uow.edu.au updated: 1993/03/23 functional languages ------------------------------------------------------------------------------- category: functional languages description: [someone have a good one-liner? --ed] lref: es lref: LIFE lref: ALLOY language: Caml package: CAML version: 3.1 parts: compiler, interactive development environment author: Ascander Suarez, Pierre Weis, Michel Mauny, others (INRIA) how to get: ftp lang/caml/* from ftp.inria.fr description: Caml is a programming language from the ML/Standard ML family, with functions as first-class values, static type inference with polymorphic types, user-defined variant and product types, and pattern-matching. The CAML V3.1 implementation adds lazy and mutable data structures, a "grammar" mechanism for interfacing with the Yacc parser generator, pretty-printing tools, high-performance arbitrary-precision arithmetic, and a complete library. bugs: caml@margaux.inria.fr ports: Sun-3 Sun-4 Sony-68k Sony-R3000 Decstation Mac-A/UX Apollo portability: low (built on a propietary runtime system) status: maintained but no longer developed discussion: caml-list@margaux.inria.fr, comp.lang.ml contact: Pierre Weis updated: 1991/10/20 language: Caml package: Caml Light version: 0.6 parts: bytecode compiler, emacs mode, libraries, scanner generator, parser generator, runtime, interactive development environment author: Xavier Leroy, Damien Doligez (INRIA) how to get: ftp lang/caml-light/* from ftp.inria.fr description: Caml is a programming language from the ML/Standard ML family, with functions as first-class values, static type inference with polymorphic types, user-defined variant and product types, and pattern-matching. The Caml Light implementation adds a Modula-2-like module system, separate compilation, lazy streams for parsing and printing, graphics primitives, and an interface with C. features: very small bugs: caml-light@margaux.inria.fr ports: most unix, Macintosh, MSDOS (16 and 32 bit modes), Atari ST portability: very high status: actively developed discussion: caml-list@margaux.inria.fr, comp.lang.ml contact: Xavier Leroy updated: 1993/10/06 language: Concurrent Clean package: The Concurrent Clean System version: 0.8.1 parts: development environment, documentation, compiler(byte-code), compiler(native), interpreter(byte-code), examples author: Research Institute for Declarative Systems, University of Nijmegen how to get: ftp pub/Clean/* from ftp.cs.kun.nl description: The Concurrent Clean system is a programming environment for the functional language Concurrent Clean, developed at the University of Nijmegen, The Netherlands. The system is one of the fastest implementations of functional languages available at the moment. Its I/O libraries make it possible to do modern, yet purely functional I/O (including windows, menus, dialogs etc.) in Concurrent Clean. With the Concurrent Clean system it is possible to develop real-life applications in a purely functional language. * lazy and purely functional * strongly typed - based on Milner/Mycroft scheme * module structure * modern I/O * programmer-infulenced evaluation order by annotations ports: Sun-3, Sun-4, Macintosh contact: clean@cs.kun.nl updated: 1992/11/07 language: FP package: ? funcproglang ? version: ? parts: translator(C) author: ? how to get: comp.sources.unix archive volume 13 description: ? Backus Functional Programming ? updated: ? language: Gofer (Haskell derivative) package: Gofer version: 2.28b parts: interpreter, compiler(->C), documentation, examples author: Mark Jones how to get: ftp pub/haskell/gofer/* from nebula.cs.yale.edu UK: ftp pub/haskell/gofer/* from ftp.dcs.glasgow.ac.uk Sweden: ftp pub/haskell/gofer/* from ftp.cs.chalmers.se description: Gofer is based quite closely on the Haskell programming language, version 1.2. It supports lazy evaluation, higher order functions, pattern matching, polymorphism, overloading etc and runs on a wide range of machines. conformance: Gofer does not implement all of Haskell, although it is very close. ports: many, including Sun, PC, Mac, Atari, Amiga status: maintained but not developed (for a while anyway) updated: 1993/08/02 langauge: Gofer iref: (BNF) Ratatosk language: Haskell package: Chalmers Haskell (aka Haskell B.) version: 0.999.5 parts: compiler, interpreter, library, documentation, examples author: Lennart Augustsson how to get: ftp pub/haskell/chalmers/* from nebula.cs.yale.edu UK: ftp pub/haskell/chalmers/* from ftp.dcs.glasgow.ac.uk Sweden: ftp pub/haskell/chalmers/* from ftp.cs.chalmers.se description: Full-featured implementation of Haskell 1.2, with quite a few "Haskell B" extensions requires: LML ports: many, including Sun, DEC, Sequent, PC, Symmetry (unsupported versions for NS32000, RT/PC, CRAY, SUN3, VAX, ARM, and RS6000.) discussion: haskell-request@cs.yale.edu europe: haskell-request@dcs.glasgow.ac.uk contact: hbc@cs.chalmers.se updated: 1993/08/02 language: Haskell package: Glasgow Haskell Compiler (GHC) version: 0.19 parts: translator (C, SPARC), profiler author: AQUA project, headed by Simon Peyton Jones location: ftp pub/haskell/glasgow/* from nebula.cs.yale.edu UK: ftp pub/haskell/glasgow/* from ftp.dcs.glasgow.ac.uk Sweden: ftp pub/haskell/glasgow/* from ftp.cs.chalmers.se description: A near complete subset of Haskell 1.2, with numerous extensions. conformance: Almost all of Haskell 1.2 is implemented. reference: Papers at ftp.dcs.glasgow.ac.uk (only) in pub/glasgow-fp, "Imperative functional programming", Peyton Jones & Wadler, POPL '93 "Unboxed data types as first-class citizens", Peyton Jones & Launchbury, FPCA '91 "Profiling lazy functional languages", Sansom & Peyton Jones, Glasgow workshop '92 "Implementing lazy functional languages on stock hardware", Peyton Jones, Journal of Functional Programming, Apr 1992 features: An extensible I/O system is provided, based on a "monad" In-line C code Fully fledged unboxed data types, Incrementally-updatable arrays Mutable reference types. Generational garbage collector bugs: requires: GNU C 2.1+, perl ports: solid: Sun4, Sun3; sort of: HP-PA, Alpha, DECstation portability: should be high contact: updated: 1993/12/17 language: Haskell package: Yale Haskell version: 2.0.5 parts: compiler, documentation, reference manual (dvi format) author: Yale Haskell project how to get: ftp from nebula.cs.yale.edu (128.36.13.1):pub/haskell/yale/* how to get: ftp pub/haskell/yale/* from nebula.cs.yale.edu UK: ftp pub/haskell/yale/* from ftp.dcs.glasgow.ac.uk Sweden: ftp pub/haskell/yale/* from ftp.cs.chalmers.se description: ? features: X-window interface, available at the Haskell level too. requires: CMU Common Lisp, Lucid, Common Lisp, Allegro Common Lisp, or Harlequin LispWorks ports: SunOS 4.1.2, Sparc 10 (sun4m) 4.1.3 discussion: haskell-request@cs.yale.edu europe: haskell-request@dcs.glasgow.ac.uk contact: haskell-request@cs.yale.edu updated: 1993/07/14 language: Hope package: ? version: ? parts: ? author: ? how to get: ftp ? from brolga.cc.uq.oz.au description: Functional language with polymorphic types and lazy lists. First language to use call-by-pattern. ports: Unix, Mac, PC updated: 1992/11/27 language: IFP (Illinois Functional Programming) package: ifp version: 0.5 parts: interpreter author: Arch D. Robison how to get: comp.sources.unix archive volume 10 description: A variant of Backus' "Functional Programming" language with a syntax reminiscent of Modula-2. The interpreter is written in portable C. reference: [1] Arch D. Robison, "Illinois Functional Programming: A Tutorial," BYTE, (February 1987), pp. 115--125. [2] Arch D. Robison, "The Illinois Functional Programming Interpreter," Proceedings of 1987 SIGPLAN Conference on Interpreters and Interpretive Techniques, (June 1987), pp. 64-73 ports: Unix, MS-DOS, CTSS (Cray) updated: ? language: ML package: LML version: ? parts: compiler(?), interactive environment author: ? how to get: ftp pup/haskell/chalmers/* from animal.cs.chalmers.se description: lazy, completely functional variant of ML. ports: ? contact: ? updated: 1992/07/06 language: Standard ML package: SML/NJ (Standard ML of New Jersey) version: 0.93 parts: compiler, libraries, extensions, interfaces, documentation, build facility author: D. B. MacQueen , Lal George , AJ. H. Reppy , A. W. Appel how to get: ftp dist/ml/* from research.att.com description: Standard ML is a modern, polymorphically typed, (impure) functional language with a module system that supports flexible yet secure large-scale programming. Standard ML of New Jersey is an optimizing native-code compiler for Standard ML that is written in Standard ML. It runs on a wide range of architectures. The distribution also contains: + an extensive library - The Standard ML of New Jersey Library, including detailed documentation. + CML - Concurrent ML + eXene - an elegant interface to X11 (based on CML) + SourceGroup - a separate compilation and "make" facility CML, eXene and SourceGroup not in the Macintosh port, but the Mac port has a built-in editor. ports: M68K, SPARC, MIPS, HPPA, RS/6000, I386/486, Macintosh updated: 1993/02/18 language: Concurrent ML package: Concurrent ML version: 0.9.8 parts: extension author: ? how to get: ftp pub/CML* from ftp.cs.cornell.edu or get SML/NJ description: Concurrent ML is a concurrent extension of SML/NJ, supporting dynamic thread creation, synchronous message passing on synchronous channels, and first-class synchronous operations. First-class synchronous operations allow users to tailor their synchronization abstractions for their application. CML also supports both stream I/O and low-level I/O in an integrated fashion. bugs: sml-bugs@research.att.com requires: SML/NJ 0.75 (or later) updated: 1993/02/18 language: SASL iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters language: Standard ML package: sml2c version: ? parts: compiler(->C), documentation, tests author: School of Computer Science, Carnegie Mellon University how to get: ftp /usr/nemo/sml2c/sml2c.tar.Z from dravido.soar.cs.cmu.edu Linux: ftp pub/linux/smlnj-0.82-linux.tar.Z from ftp.dcs.glasgow.ac.uk description: sml2c is a Standard ML to C compiler. sml2c is a batch compiler and compiles only module-level declarations, i.e. signatures, structures and functors. It provides the same pervasive environment for the compilation of these programs as SML/NJ. As a result, module-level programs that run on SML/NJ can be compiled by sml2c without any changes. Based on SML/NJ version 0.67 and shares front end and most of its runtime system, but does not support SML/NJ style debugging and profiling. conformance: superset + first-class continuations, + asynchronous signal handling + separate compilation + freeze and restart programs ports: IBM-RT Decstation3100 Omron-Luna-88k Sun-3 Sun-4 386(Mach) portability: easy, easier than SML/NJ contact: david.tarditi@cs.cmu.edu anurag.acharya@cs.cmu.edu peter.lee@cs.cmu.edu updated: 1991/06/27 language: Standard ML package: The ML Kit version: 1 parts: interprter, documentation author: Nick Rothwell, David N. Turner, Mads Tofte , and Lars Birkedal at Edinburgh and Copenhagen Universities. how to get: ftp diku/users/birkedal/* from ftp.diku.dk UK: ftp export/ml/mlkit/* from lfcs.ed.ac.uk description: The ML Kit is a straight translation of the Definition of Standard ML into a collection of Standard ML modules. For example, every inference rule in the Definition is translated into a small piece of Standard ML code which implements it. The translation has been done with as little originality as possible - even variable conventions from the Definition are carried straight over to the Kit. The Kit is intended as a tool box for those people in the programming language community who may want a self-contained parser or type checker for full Standard ML but do not want to understand the clever bits of a high-performance compiler. We have tried to write simple code and modular interfaces. updated: 1993/03/12 language: SISAL 1.2 package: The Optimizing SISAL Compiler version: 12.0 parts: compiler?, manuals, documentation, examples, debugger,... author: David C. Cann how to get: ftp pub/sisal from sisal.llnl.gov description: Sisal is a functional language designed to be competitive with Fortran, and other imperative languages for scientific jobs. In particualar, OSC uses advanced optimizing techniques to achieve fast speeds for computation intensive programs. It also features routines for making efficient use of parallel processors, such as that on the Cray. ports: ? updated: ? C variants ------------------------------------------------------------------------------- category: C variants description: These are languages that are closely based on C. lref: C-Refine, C++-Refine, *-Refine lref: (C,Duel) Duel (a C debugging language) language: C, C++, Objective-C, RTL package: GNU CC (gcc) version: 2.5.5 parts: compiler, runtime, examples, documentation Library listed separately author: Richard Stallman and others how to get: ftp gcc-2.4.5.tar.gz from a GNU archive site msdos: ftp pub/msdos/djgpp/* from omnigate.clarkson.edu Macintosh: ftp mpw-gcc-1.37.1r14 from ? 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 Ada, Pascal, and Fortran are all under development. conformance: C: superset of K&R C and ANSI C. C++: not exactly cfront 3.0? [could someone tell me which version of cfront it is equivalent to, if any? --ed] Objective-C: ? bugs: gnu.gcc.bug 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, sparc-solaris2, sparc-sysv.4, spur, sun386, tahoe, tow, umpis, vax-vms, vax-bsd, we32k, hitachi-{SH,8300} portability: very high in the theory, somewhat annoying in practice status: actively developed discussion: gnu.gcc.help announcements: gnu.gcc.announce updated: 1993/11/27 language: C package: GNU C Library (glibc) version: 1.06 parts: library author: ? how to get: ftp glibc-1.06.tar.Z from a GNU archive site Source for "crypt" must be FTP'ed from non-USA site if you are outside the USA (site: glibc-1.06-crypt.tar.z from ftp.uni-c.dk [129.142.6.74]). description: The run-time library for the GNU C compiler, gcc. The source for libc.a. This package is separately maintained. conformance: ANSI and POSIX.1 superset. Large subset of POSIX.2 bugs: Reports sent to mailing list bug-glibc@prep.ai.mit.edu. updated: 1993/06/25 language: C package: fdlibm version: ? parts: library author: Dr. K-C Ng how to get: How to get fdlibm by email - as three email messages of 100KB each: mail netlib@research.att.com send all from fdlibm How to get fdlibm by ftp: ftp netlib.att.com cd netlib get fdlibm.tar description: Dr. K-C Ng has developed a new version of libm that is the basis for the bundled /usr/lib/libm.so in Solaris 2.3 for SPARC and for future Solaris 2 releases for x86 and PowerPC. It provides the standard functions necessary to pass the usual test suites. This new libm can be configured to handle exceptions in accordance with various language standards or in the spirit of IEEE 754. The C source code should be portable to any IEEE 754 system with minimal difficulty. . conformance: IEEE 754 bugs: Send comments and bug reports to: fdlibm-comments@sunpro.eng.sun.com. updated: 1993/12/18 language: C package: c68/c386 version: 4.2a parts: compiler author: Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker how to get: ftp pub/Minix/common-pkgs/c386-4.2.tar.Z from bugs.nosc.mil description: K&R C plus prototypes and other ANSI features. targetted to several 68k and i386 assemblers, incl. gas. floating point support by inline code or emulation. lots of available warnings. better code generation than ACK. ports: 386 and 68k Minix. generic unix actually. status: actively worked on by the Walkers. discussion: comp.os.min updated: ? language: C package: GNU superoptimizer version: 2.2 parts: exhaustive instruction sequence optimizer author: Torbjorn Granlund with Tom Wood how to get: ftp superopt-2.2.tar.Z from a GNU archive site description: GSO is a function sequence generator that uses an exhaustive generate-and-test approach to find the shortest instruction sequence for a given function. You have to tell the superoptimizer which function and which CPU you want to get code for. This is useful for compiler writers. bugs: Torbjorn Granlund restriction: GNU General Public License ports: Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP) updated: 1993/02/16 language: C package: xdbx version: 2.1 parts: X11 front end for dbx author: ? how to get: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16 description: ? contact: Po Cheung updated: 1992/02/22 language: C package: ups version: 2.1 parts: interpreter, symbolic debugger, tests, documentation author: Mark Russell how to get: ? ftp from contrib/ups*.tar.Z from export.lcs.mit.edu ? unofficial: unofficial enhancements by Rod Armstrong , available by ftp misc/unix/ups/contrib/rob from sj.ate.slb.com description: Ups is a source level C debugger that runs under X11 or SunView. Ups includes a C interpreter which allows you to add fragments of code simply by editing them into the source window bugs: Mark Russell ports: Sun, Decstation, VAX(ultrix), HLH Clipper discussion: ups-users-request@ukc.ac.uk updated: 1991/05/20 language: C package: C-Interp version: ? parts: interpreter author: ? how to get: ftp Mac/Misc/C_Interp.sit from oac2.hsc.uth.tmc.edu description: An interpreter for a small subset of C, originally part of a communications package. contact: ? Chuck Shotton updated: 1993/05/14 langauge: C package: ae (application executive) version: 1? parts: interpreter author: Brian Bliss [Is this right? --ed] how to get: ftp pub/at.tar.Z from sp2.csrd.uiuc.edu description: ae (the "application executive") is a C interpreter library which is compiled with an application; hence, the interpreter exists in the same process and address space. it includes a dbx symbol table scanner to access compiled vars & routines, or you can enter them manually by providing a type/name declaration and the address. when the interpreter is invoked, source code fragments are read from the input stream (or a string), parsed, and evaluated immediately. The user can call compiled functions in addition to a few built-in intrinsics, declare new data types and data objects, etc. Different input streams can be evaluated in parallel on alliant machines. ports: SunOS (cc or gcc), Alliant FX, Cray YMP (soon) updated: 1992/04/21 language: C (ANSI), lcc package: lcc version: 1.8 parts: compiler, test suite, documentation author: Dave Hanson how to get: ftp pub/lcc/lccfe-*.tar.Z from princeton.edu description: + hand coded C parser (faster than yacc) + retargetable + code "as good as GCC" ports: vax (mips, sparc, 68k backends are commercial) status: small-scale production use using commerical backends; the commercial backends are cheap (free?) to universities. discussion: lcc-requests@princeton.edu updated: 1992/02/20 language: C, lcc package: Chop version: 0.6 parts: code generator author: Alan L. Wendt how to get: ftp pub/chop/0.6.tar.Z from beethoven.cs.colostate.edu description: The current revision, 0.6, is interfaced with Fraser and Hanson's lcc front end. The result is a highly fast C compiler with good code selection and no global optimization. Project Status: Chop compiles and runs a number of small test programs on the Vax. I'm currently updating the NS32k and 68K retargets for lcc compatibility. After I get them working, I'll work on getting the system to compile itself, get struct assignments working, improve the code quality and compile speed, and run the SPEC benchmarks. That will be rev 1.0. reference: "Fast Code Generation Using Automatically-Generated Decision Trees", ACM SIGPLAN '90 PLDI updated: 1993/04/28 language: C package: GCT version: 1.4 parts: test-coverage-preprocessor author: Brian Marick how to get: ftp pub/testing/gct.file/ftp.* from cs.uiuc.edu description: GCT is test-coverage tool based on GNU C. Coverage tools measure how thoroughly a test suite exercises a program. restriction: CopyLeft ports: sun3, sun4, rs/6000, 68k, 88k, hp-pa, ibm 3090, ultrix, convex, sco discussion: Gct-Request@cs.uiuc.edu support: commercial support available from author, (217) 351-7228 updated: 1993/02/12 language: C package: MasPar mpl, ampl version: 3.1 parts: compiler author: ? how to get: ftp put/mpl-* from maspar.maspar.com description: mpl & ampl - the intrinsic parallel languages for MasPar's machines are C (ampl is actually a gcc port these days). You can get the source from marpar.com. contact: ? updated: ? language: C package: gc version: 3.4 parts: library author: Hans-J. Boehm , Alan J. Demers how to get: ftp pub/russell/gc3.4.tar.Z from parcftp.xerox.com description: This is a garbage colecting storage allocator that is intended to be used as a plug-in replacement for C's malloc. Since the collector does not require pointers to be tagged, it does not attempt to ensure that all inaccessible storage is reclaimed. However, in our experience, it is typically more successful at reclaiming unused memory than most C programs using explicit deallocation. Unlike manually introduced leaks, the amount of unreclaimed memory typically stays bounded. ports: Sun-3, Sun-4 , Vax/BSD, Ultrix, i386/Unix, SGI, Alpha/OSF/1, Sequent (single threaded), Encore (single threaded), RS/600, HP-UX, Sony News, A/UX, Amiag, NeXT. updated: 1993/11/05 language: C package: dsp56k-gcc version: ? parts: compiler author: ? how to get: ftp pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z from nic.funet.fi Australia: ftp pub/micros/56k/g56k.tar.Z from evans.ee.adfa.oz.au description: A port of gcc 1.37.1 to the Motorola DSP56000 done by Motorola contact: ? updated: ? language: C package: dsp56165-gcc version: ? parts: compiler author: Andrew Sterian how to get: ftp usenet/alt.sources/? from wuarchive.wustl.edu description: A port of gcc 1.40 to the Motorola DSP56156 and DSP56000. updated: ? language: C package: Harvest C version: 1.3 parts: compiler, assembler, linker. author: ? how to get: ftp mac/development/languages/harves* from archive.umich.edu description: The parts of the system are all integrated in a unique application, which manages a "project" composed by several C source files and resource files (which contain data). ports: Macintosh contact: Eric W. Sink updated: 1992/05/26 language: C, C++ package: Cyclo - cyclomatic complexity tool version: the one and only version parts: code analysis tool author: Roger D Binns how to get: alt.sources archive, 1993/06/28, description: It measures cyclomatic complexity, shows function calls and can draw flowgraphs of ANSI C and C++ code. requires: lex, C++ updated: 1993/06/28 language: C package: cxref version: ? parts: code analysis tool author: Arnold Robbins how to get: use archie description: A cross-reference genrator updated: ? language: C package: xref version: ? parts: code analysis tool author: Jim Leinweber how to get: use archie description: A cross-reference genrator updated: 1985? language: C, C++ package: Xcoral version: 1.72 parts: editor author: ? how to get: ftp X/contrib/clients/xcoral* from ftp.inria.fr description: Xcoral is a multiwindows 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. contact: ? updated: 1993/03/14 language: C++ package: Lily (LIsp LibrarY) version: 0.1 parts: library author: Roger Sheldon how to get: ftp uploads/lily-0.1.tar.gz from sunsite.unc.edu 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. requires: C++ (g++ or Turbo C++, but not cfront) restriction: GNU Library General Public License updated: 1993/11/08 language: C++ package: C++SIM version: 1.0 parts: library author: Mark Little how to get: ftp ? from 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: 1993/06/14 language: C++ package: ? signatures for GCC 2.5.2. ? version: ? parts: patches to GNU CC, documentation author: Gerald Baumgartner how to get: ftp pub/gb/* from ftp.cs.purdue.edu 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: 1993/11/03 language: C++ package: aard ??? version: ? parts: memory use tracer author: ? how to get: ftp pub/aard.tar.Z from wilma.cs.brown.edu 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 updated: ? language: C++ package: ET++ version: 3.0-alpha parts: class libraries, documentation author: ? how to get: ftp C++/ET++/* from iamsun.unibe.ch description: ? contact: Erich Gamma updated: 1992/10/26 language: C++ package: C++ grammar version: ? parts: parser (yacc) author: ? how to get: comp.sources.misc volume ? description: [is this a copy of the Roskind grammar or something else? --ed] updated: 1991/10/23 language: C++ package: cppp version: 1.14 parts: parser (yacc) author: Tony Davis how to get: 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: 1993/05/26 language: C++ package: C++ Object Oriented Library version: COOL ?, GECOOL 2.1, JCOOL 0.1 parts: libraries, tests, documentation author: ? how to get: GECOOL, JCOOL: ftp pub/COOL/* from cs.utexas.edu COOL: ftp pub/COOL.tar.Z from csc.ti.com 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 updated: 1992/08/05 -- Send compilers articles to compilers@iecc.com or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com. -- Send compilers articles to compilers@iecc.com or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.