Path: news1.ucsd.edu!ihnp4.ucsd.edu!swrinde!cs.utexas.edu!uwm.edu!news.cse.psu.edu!news.ecn.bgu.edu!vixen.cso.uiuc.edu!newsfeed.internetmci.com!in3.uu.net!ivan.iecc.com!ivan.iecc.com!not-for-mail
From: free-compilers@idiom.com (Steven Robenalt)
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Subject: Catalog of compilers, interpreters, and other language tools [p1of5]
Supersedes: <free1-Jul-96@comp.compilers>
Followup-To: comp.lang.misc
Date: 1 Aug 1996 07:00:05 -0400
Organization: Idiom Consulting / Berkeley, CA
Lines: 1803
Sender: johnl@iecc.com
Approved: compilers@iecc.com
Expires: 1 Sep 96 23:59:00 GMT
Message-ID: <free1-Aug-96@comp.compilers>
Reply-To: free-compilers@idiom.com (Steven Robenalt)
NNTP-Posting-Host: ivan.iecc.com
Summary: Monthly posting of free language tools that include source code
Keywords: compilers, interpreters, languages, tools, FTP
Xref: news1.ucsd.edu comp.compilers:7650 comp.lang.misc:13943 comp.archives.admin:1257 news.answers:63339 comp.answers:15853

Archive-name: compilers/free/part1
Last-modified: 1996/04/01
Version: 9.0

-------------------------------------------------------------------------------
Catalog of Free Compilers and Interpreters.
-------------------------------------------------------------------------------

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

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

        ftp://ftp.idiom.com/pub/compilers-list/free-compilers

There is a HTML version available at:

        http://www.idiom.com/free-compilers

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].

If you have information not included in here or updates to information
listed here, a template has been provided below for you to use.  You
can send whatever new items or updates you have to
<free-compilers@idiom.com>.

-------------------------------------------------------------------------------
overview (table of contents)
-------------------------------------------------------------------------------

Section                                    Parts
Catalog of Free Compilers and Interpreters.                       1
overview (table of contents)                                      1
history                                                           1
prototype entry                                                   1
tools                                                             1
        scripting languages                                       1
        functional languages                                      1
        C variants                                                2
        compiled, imperative languages                            2
        object oriented languages                                 2
        lisp family                                               3
        document formatting languages                             3
        logic programming languages                               3
        concurrent, parallel, and simulation languages            4
        Forth family languages                                    4
        compiler generators and related tools                     4
        mathematical tools and languages                          4
        electrical engineering languages                          4
        Wirth family languages                                    5
        assemblers                                                5
        macro preprocessors                                       5
        special purpose languages                                 5
        natural languages                                         5
        curiosities                                               5
        unable to classify due to lack of knowledge               5
references                                                        5
archives                                                          5
cross-reference                                                   5

-------------------------------------------------------------------------------
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 archivists 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 <markh@csd4.csd.uwm.edu> took care of it for 
the summer of 1993 and then gave it back to David Sharnoff when he dropped 
off the net.  Steve Robenalt <steven_robenalt@uscs.com> took over the list 
maintenance from Dave in January 1994.  It was returned to Mark Hopkins
<mark@omnifest.uwm.edu> in May 1994, but Dave's organization, Idiom 
Consulting, remains as the focal point for information to be submitted.
In July through November 1994, David created a HTML version of the list while
updates piled up.  Eric S. Raymond made quite a few edits during this 
conversion process that had to be edited in by hand 'cause the compilers
list was kinda unstable.  Eventually, David and Steve took care of the
backlog and passed maintenance back to Mark. Now that you are probably
completely confused about who does what, Steve is maintaining the list again.
After cleaning up a large portion of a rather hefty backlog from the past
six months, I would like to request that whenever possible, readers of this
list send in entries using the sample form provided, including the required
information. If you find a tool useful and it's not here, do the author a
favor and submit the information. It makes the updates much easier.

If you should wish to make substantial changes to the free compilers list,
please talk to us first.  The version that you see is not quite the same as
the version that we maintain. 

-------------------------------------------------------------------------------
prototype entry
-------------------------------------------------------------------------------
Every entry should at least have the fields marked with two asterisks (**).


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 <email@address>".  Surface mail addresses
                 are not used unless there is no email address.
location:       **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", although valid URL's are also
                 acceptable.
                 No IP address is ever given.  No other ftp formats are allowed.
    Continent:  Sites for continent.
    Country:    Sites for country.
    System:     Sites for a particular port.
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.  
                  If there is more than one entry in the section indent all
                  but first line of each entry by one character
                 If there is only one entry, then don't indent that single
                  entry at all.
features:       1. salient features not listed in the description.  
                 2. You may list features with numbered lists 
                 3. Or you may use bullet items:
                 + every bullet item should be a plus
                 + unless you want to say that something is an anti-feature
                 - in which case you should use a minus.
                 + but in any case, you should put the + or - at the beginning
                   of the line.
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) Email 
                 addresses are in the form "Real Name <email@address>".    Surface 
                 mail addresses are not used unless there is no email address.
updated:        **last known update to the package, not time of the update 
                 to the entry in the catalog!
                 The format of date is: yyyy/mm/dd, yyyy/mm, or yyyy. 
                 No other formats are allowed.


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 implementation


-------------------------------------------------------------------------------
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 file
                 using #!.  
iref:       (Scheme) scsh

language:       ABC
package:        ABC
version:        1.04.01
parts:     interpreter/compiler
author:   Leo Geurts, Lambert Meertens, 
                 Steven Pemberton <Steven.Pemberton@cwi.nl>
location:       ftp /pub/abc/* from ftp.cwi.nl
                 or http://www.cwi.nl/~steven/abc.html
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.2beta
parts:     interpreter
author:   Mike Brennan <brennan@bcsaic.boeing.com>
location:       ftp public/mawk* from oxy.edu
description:    a pattern-directed language for massaging text files
conformance:    superset of (old, V7) awk
features:       + RS can be a regular expression
                 + 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 <brennan@bcsaic.boeing.com>
updated:        1994/12/16

language:       awk (new)
package:        GNU awk (gawk)
version:        2.15.6
parts:     interpreter, documentation
author:   David Trueman <david@cs.dal.ca> and 
                 Arnold Robbins <arnold@cc.gatech.edu>
location:       ftp gawk-2.15.tar.Z from a GNU archive site
description:    a pattern-directed language for massaging text files
conformance:    superset of (old, V7) awk including some Plan 9 features
ports:     unix, msdos:msc5.1
status:   activly developed
updated:        1995/03/09

language:       BASIC
package:        bwBASIC (Bywater BASIC interpreter)
version:        2.10
parts:     interpreter, shell, ?
author:   Ted A. Campbell <tcamp@delphi.com>
location:       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:   ?
location:       comp.sources.unix archives volume 2
description:    ?
updated:        ?

language:       BASIC
package:        ? bournebasic ?
version:        ?
parts:     interpreter
author:   ?
location:       comp.sources.misc archives volume 1
description:    ?
updated:        ?

language:       BASIC
package:        ubasic
version:        8.74
parts:     interpreter, documentation, examples
author:   Yuji Kida <kida@ax251.rikkyo.ac.jp>
location:       math.ohio-state.edu in pub/msdos/ubasic/
    N.America:  ftp SimTel/msdos/ubasic/* from oak.oakland.edu
    Europe:     ftp pub/msdos/SimTel/ubasic/* from ftp.funet.fi
description:    An implementation of BASIC with high precision real and complex
                 arithmetic (up to 2600 digits), exact rational arithmetics,
                 arithmetic of rational, modulo p or complex polynomials, and
                 strings and linked lists.  It supports algebraic,
                 transcendental and arithmetic functions, some C-like and
                 Pascal-like functions.    The latest version supports VGA
                 graphics.
reference:      reviewed in Notices of the A.M.S #36 (May/June 1989),
                 and "A math-oriented high-precision BASIC", #38 (3/91)
ports:     MS-DOS, VGA capability present.
updated:        1994/06/05

language:       BASIC
package:        ?
version:        ?
parts:     interpreter
author:   ?
location:       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:       BASIC
package:        ACE - AmigaBASIC Compiler with Extras
version:        2.3
parts:     Compiler (produces 68000 assembly code), assembler, linker, 
                 run-time libraries (linkable), text and AmigaGuide docs, 
                 integrated development environment, large collection of 
                 example programs, utilities.
author:   David Benn. E-mail: D.Benn@appcomp.utas.edu.au
location:       ftp /pub/ACE/ace23.lha from ftp.appcomp.utas.edu.au
                 ftp dev/basic/ace23.lha from Aminet sites (wuarchive.wustl.edu)
description:    ACE is a FreeWare Amiga BASIC compiler which, in conjunction 
                 with A68K and Blink produces standalone executables.
                 The language defines a large subset of AmigaBASIC but also has 
                 many features not found in the latter such as: turtle graphics,
                 recursion, SUBs with return values, structures, arguments, 
                 include files, a better WAVE command which allows for large 
                 waveforms, external references, named constants and a variety 
                 of other commands and functions not found in AmigaBASIC.
conformance:    Follows AmigaBASIC fairly closely with most differences being 
                 minor. Many extra features have been added however. Major 
                 AmigaBASIC features yet to be implemented: double-precision 
                 floating point math, random files, sprites.
bugs:       See documentation: ace.doc, p 43-44.
restrictions:   See documentation: ace.doc, p 42-43 and conformance (above).
portability:    ACE is targetted at the Amiga but many generic BASIC
                 programs will compile with little or no change.
status:   ACE is still being developed. Version 2.3 is its sixth release.
discussion:     Discussion list: send the message "subscribe ace FirstName 
                 LastName" to: Listserver@appcomp.utas.edu.au
announcements:  On the ACE discussion list and the newsgroup 
                 comp.sys.amiga.programmer
updated:        1994/10/22

language:       Bourne Shell
package:        ash
version:        ?
parts:     interpreter, manual page
author:   Kenneth Almquist
location:       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.06
parts:     interpreter, manual page, html manual
author:   Christos Zoulas <christos@ee.cornell.edu>
location:       ftp://ftp.deshaw.com/pub/tcsh 
description:    a modified C-Shell with history editing
ports:     unix, VMS_POSIX, nearing completion: OS/2 EMX.
updated:        1994/06/27

language:       ERGO-Shell (a window-based Unix shell)
package:        ERGO-Shell
version:        2.1
parts:     interpreter
author:   Regine Freitag <freitag@gmd.de>
location:       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 <dzida@gmd.de> or the author
updated:        1993/06/04

language:       es (a functional shell)
package:        es
version:        0.84
parts:     interpreter
author:   Byron Rakitzis <byron@netapp.com>, Paul Haahr <haahr@adobe.com>
location:       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:       ESL
package:        ESL
version:        0.2
parts:     ?
author:   David J. Hughes <bambi@kirk.Bond.edu.au>
location:       Bond.edu.au [131.244.1.1] in /pub/Bond_Uni/Minerva
description:    Styled scripting language with automatic allocation,
                 associative arrays, compilation to host-independent binary
                 format, bindings to CMU-SNMP library
ports:     SPARC (under Sun OS 4.1.1), Solaris 2.3, Ultrix 4.3, Linux 1.0
updated:        1994/07/12

language:       Glish
package:        glish
version:        2.4.1
parts:     interpreter, C++ class library, user manual
author:   Vern Paxson <vern@ee.lbl.gov>
location:       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
location:       ftp pub/ici.tar.Z from ftp.su.edu.au
                 ftp pub/oz/ici.tar.Z from nexus.yorku.ca
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, HP-UX
portability:    high
status:   actively developed.
discussion:     send "help" to listserv@research.canon.oz.au
contact:        Andy Newman <andy@research.canon.oz.au>
updated:        1994/04/18

language:       Icon
package:        icon
version:        8.8 (8.7, 8.5, 8.0 depending on platform)
parts:     interpreter, compiler (some platforms), library (v8.8)
author:   Ralph Griswold <ralph@CS.ARIZONA.EDU>
location:       ftp icon/* from cs.arizona.edu
                 MS-DOS version: ftp norman/iconexe.zip from bellcore.com
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.  Some features are reminiscent of SNOBOL, which
                 Griswold had previously designed.
                 - no packages, one name-space
                 - no exceptions
                 + object oriented features
                 + records, sets, lists, strings, tables
                 + unlimited line length
                 - unix interface is primitive
                 + co-expressions
reference:      "The Icon Programming Language", Ralph E. Griswold and 
                  Madge T. Griswold, Prentice Hall, seond edition, 1990.
                 "The Implementation of the Icon Programming 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
                 mengarini@delphi.com for MS-DOS version
updated:        1992/08/21

language:       Icon
iref:       (BNF) Ibpag2

language:       IVY
package:        Ivy
version:        experimental
parts:     interpreter
author:   Joseph H Allen <jhallen@world.std.com>
location:       alt.sources 1993/09/28 <CE1wo3.74A@world.std.com>
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 <koren@hpfcogv.fc.hp.com>
location:       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:       Bourne Shell 
package:        Bash (Bourne Again SHell)
version:        1.14.5
parts:     parser(yacc), interpreter, documentation
author:   Brian Fox <bfox@vision.ucsb.edu>
location:       ftp://slc2.ins.cwru.edu/pub/dist/bash-1.14.5.tar.gz
description:    Bash is a Posix compatible 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:        1995/07

language:       Korn Shell
package:        pdksh
version:        5.1.3
parts:     interpreter, documentation (complete man page)
author:   Michael Rendell <michael@cs.mun.ca> (maintainer)
location:       ftp://ftp.cs.mun.ca:pub/pdksh/pdksh.tar.gz
description:    pdksh is a public domain implementation of ksh88.  pdksh was
                 started by Eric Gisin based on Charles Forsyth's version
                 of sh.    It has since been maintained by John R MacMillan and
                 Simon J. Gerraty and is currently maintained by Michael 
                 Rendell.
conformance:    Only major feature not implemented (yet) is Korn's
                 @(patter1|pattern2|..) style pattern matching.    A few
                 other things are also missing like trap DEBUG (see NOTES
                 file in distribution for details).
bugs:       should be reported to pdksh@cs.mun.ca.
restriction:    none
ports:     Most unix boxes (uses GNU autoconf), OS2.
status:   active (missing ksh88 features being added, being made POSIX
                 conforming)
support:        pdksh@cs.mun.ca
announcements:  posted to comp.unix.shells newsgroup (also, send mail to
                 pdksh-request to be placed on a mailing list for announcements)
updated:        1994/12/22

language:       LPC
package:        LPC4
version:        4.05.11
parts:     interpreter, bytecode compiler, documentation, sample scripts,
                 sample mudlib
author:   Fredrik Hubinette <hubbe@lysator.liu.se>
location:       ftp pub/lpmud/drivers/profezzorn/* from ftp.lysator.liu.se
description:    A development of Lars Pensj|'s language for MUD, with
                 script-running capability. LPC has a syntax similar to C,
                 but works internally like Perl or some one-cell Lisp.
features:       mappings, dynamic arrays, binary strings (ie. they
                 can contain zeros) and socket communication functions
restriction:    May currently not be used for monetary gain.
                 (Imposed by Lars Pensj|)
requires:       yacc/byacc/bison
ports:     dynix, hp-ux, Sunos4, Solaris, Linux
portability:    Should work fine on most Unix.
discussion:     lpc4-request@lysator.liu.se
updated:        1994/06/04

language:       lua
package:        lua
version:        2.2
parts:     bytecode compiler, grammar(yacc, lex), library, documentation,
                 examples, run-time, interpreter
author:   TeCGraf, the Computer Graphics Technology Group of PUC-Rio,
                 the Catholic University of Rio de Janeiro, Brazil.
                 contact Luiz Henrique de Figueiredo <lhf@icad.puc-rio.br>
location:       ftp://ftp.icad.puc-rio.br/pub/lua/lua-2.2.tar.gz
                 http://www.inf.puc-rio.br/~roberto/lua.html
description:    Lua is a language for extending applications.
features:       simple syntax, variables need no declaration.
                 associative arrays, user-controlled type constructors.
                 variable number of arguments and multiple return values in
                 functions.
restriction:    Lua is not in the public domain;  TeCGraf keeps its copyright.
                 Nevertheless, Lua is freely available for academic purposes.
                 For commercial purposes, please contact TeCGraf.
ports:     unix (Sun, AIX, dec), DOS, MacOS
portability:    Lua is written in ANSI C and is completely portable.
updated:        1995/11/28

language:       Perl (Practical Extraction and Report Language)
package:        perl5
version:        5.002
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://www.perl.com/perl/index.html.
                 "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/
                 + DDI - 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>
lref:       Tk
lref:       Tcl
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:        1996/02/29

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 pub/perl.4.0/* from jpl-devvax.jpl.nasa.gov 
    OS/2:       ftp pub/os2/all/unix/prog*/perl4019.zip from hobbes.nmsu.edu
    Macintosh:  ftp software/mac/src/mpw_c/Mac_Perl_405_* from nic.switch.ch
    Amiga:      ftp perl4.035.V010.* from wuarchive.wustl.edu
    VMS:        ftp software/vms/perl/* from ftp.pitt.edu
    Atari:      ftp amiga/Languages/perl* from atari.archive.umich.edu
    MSDOS:      ftp pub/msdos/perl/* from ftp.ee.umanitoba.ca
                 ftp pub/msdos/perl/bperl* from oak.oakland.edu
    Windows NT: ftp://ntperl.hip.com/ntperl/ntperl5.001.src.zip
                 ftp://ntperl.hip.com/ntperl/ntperl5.001.i86.zip
    MVS:        ftp dist/perl-4036.tar.Z from oozelum.csi.cam.ac.uk
    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:        1993/02/07

language:       perl, awk, sed, find
package:        a2p, s2p, find2perl
version:        ?
parts:     translators(->perl)
author:   Larry Wall
location:       comes with perl
description:    translators to turn awk, sed, and find programs into perl 
                 programs.
updated:        ?

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:        1993/06/17

language:       Proxy
package:        Proxy
version:        1.4
parts:     interpreter, documentation
author:   Burt Leavenworth <edlsoft@delphi.com>
location:       ftp pub/scheme-repository/scm/proxy.zip from ftp.cs.indiana.edu
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:        1994/09/23

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 pub/python* from ftp.cwi.nl
    N.America:  ftp pub/plan/python from gatekeeper.dec.com
    N.America:  ftp languages/python from ftp.uu.net
    Europe:     ftp pub/unix/languages/python from ftp.fu-berlin.de
    Finland:    ftp pub/languages/python from ftp.funet.fi
    UK:   ftp uunet/languages/python from unix.hensa.ac.uk
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
                 + 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
lref:       Tk
ports:     unix, Macintosh, OS/2, Windows 3.1 (with Win32s), Windows NT
discussion:     python-list-request@cwi.nl
updated:        1995/04/10

language:       Python
iref:       (BNF variant) kwParsing ?

language:       PILOT
package:        pilot
version:        1.6
parts:     compiler(->C), interpreter, library, documentation, examples,
                 tutorial, test suite.
author:   Eric S. Raymond <esr@snark.thyrsus.com>
location:       ftp locke.ccil.org:pub/retro/pilot-1.6.shar.gz
                 (in the Museum of Retrocomputing)
description:    PILOT is a primitive CAI language first designed in 1962 on IBM
                 mainframes.  It is rather weak and has very odd lexical rules,
                 but is easy to learn and use.  I wrote this implementation
                 strictly as a hack, but it works and does include an
                 interactive tutorial written in PILOT itself which is also a
                 decent test load.  This implementation is both an interpreter
                 for the PILOT language and a compiler for it using C as an
                 intermediate language.
conformance:    Reference implementation of the IEEE Standard for PILOT, 1154-1191
bugs:       report to Eric S. Raymond <esr@snark.thyrsus.com>
restrictions:   If you plan to make money from it, contact the author.
portability:    Any ANSI C host.
announcements:  comp.lang.misc,alt.lang.intercal
updated:        1994/10/16
 
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:        1994/05/06

language:       Q (also small subsets of Common Lisp and Scheme)
package:        Q
version:        ? 1
parts:     interpreter, compiler framework, libraries, documentation
author:   Per Bothner <bothner@cygnus.com>
location:       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 <anders@pvv.unit.no>
location:       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 ? 
location:       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:        REXX/imc
version:        1.6
parts:     Interpreter, documentation.
author:   Ian Collier <imc@comlab.oxford.ac.uk>
location:       ftp pub/freerexx/imc/rexx-imc-1.6.tar.Z from rexx.uwaterloo.ca
description:    REXX for Unix.       A general-purpose programming language
                 designed by Mike Cowlishaw of IBM UK for readability and
                 ease of use.  Also useful as a control language for Unix
                 or for applications which make use of REXX's programming
                 interface (REXX/imc may be compiled as a dynamic C library
                 for applications to include on some systems).  REXX is an
                 official scripting language of VM/CMS, OS/2 and AmigaDOS.
conformance:    REXX language level 4.00 (more or less), with some small
                 extensions.  The C programming interface is a subset of
                 the SAA interface exhibited by OS/2 REXX.
reference:      "The REXX Language" 2nd edition, by M.F. Cowlishaw;
                 Prentice-Hall 1990.
ports:     SunOS, AIX 3.2
portability:    Requires Unix-domain sockets (restriction may be relaxed in
                 the future).  Dynamic link function dlopen() is useful but
                 not essential.
status:   Under slow development.     Contact author for help/support.
discussion:     comp.lang.rexx (general forum for all REXX-related products).
announcements:  comp.lang.rexx
updated:        1994/05/18

language:       sed
package:        GNU sed 
version:        2.04
parts:     interpreter, documentation
author:   Tom Lord <lord@cygnus.com>
location:       ftp sed-* from a GNU archive site
description:    A SED interpreter.  Sed is a stream editing filter language.
features:       Modulo n line addressing.
bugs:       bug-gnu-utils@prep.ai.mit.edu
updated:        1994/04/30

language:       rc (Plan 9 shell)
package:        rc
version:        1.4
parts:     interpretor
author:   Byron Rakitzis <byron@netapp.com>
location:       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 <davis@amy.tch.harvard.edu>
location:       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.
restriction:    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:        beta2
version:        0.91
parts:     compiler(->C)
author:   Phil Budne <phil@cs.bu.edu>
location:       ftp snobol4/budne/beta2.tar.Z from cs.arizona.edu
description:    An implementation of Ralph Griswold's SNOBOL 4, a classic early
                 language design specialized for text and string manipulation
                 that (among other things) influenced UNIX rexexp syntax. See
                 also Icon. This compiler is implemented as macro programs
                 in SIL (SNOBOL Implementation Language); this is a SIL
                 implementation plus macros with C as the target language.
features:       + supports loading of C library functions on BSD systems 
contact:        snobol4@arizona.edu
ports:     various UNIX flavors, including 'generic' and 'POSIX' APIs
updated:        1986/06/24

language:       Snobol4
package:        vanilla
version:        ?
parts:     compiler, documentation
author:   Catspaw, Inc.
location:       ftp snobol4/vanilla.arc from cs.arizona.edu
description:    An implementation of Ralph Griswold's SNOBOL 4, a classic early
                 language design specialized for text and string manipulation
                 that (among other things) influenced UNIX rexexp syntax. See
                 also Icon. This implementation is closely related to Phil
                 Budne's 'beta2' SNOBOL.
ports:     MSDOS
contact:        ?
updated:        1994/11/01

language:       ssh (Steve's Shell)
package:        ssh
version:        1.7
parts:     interpreter
author:   Steve Baker <ice@judy.indstate.edu> with help from Thomas Moore
location:       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:       subscript
package:        sub (seismic unix basic)
version:        0.9
parts:     Embedded interpreter, demo application, User's Guide,
                 example inputs for demo.
author:   Martin L. Smith (martin@ner.com)
location:       hilbert.mines.colorado.edu (138.67.12.63) in
                 pub/cwpcodes/*sub*.tar
description:    subscript is a bytecode-compiled scripting language that
                 provides a convenient way of manipulating binary stream
                 data.  It is currently distributed embedded in a demo
                 application (sub), which illustrates the processing of
                 seismic data, but the interpreter/compiler core is
                 portable to other applications.
features:       the interpreted language provides atomic manipulation
                 of vectors of floating-point values.
requires:       yacc.
ports:     Unixware 1.x, SunOS 4.x, NextStep, Linux 0.99.
status:   Undergoing active development, with future inclusion into
                 the Colorado School of Mines' Seismic Unix package.
updated:        ?

language:       Tcl (Tool Command Language)
package:        Tcl
version:        7.4
parts:     interpreter, libraries, tests, documentation
author:   John Ousterhout <ouster@cs.berkeley.edu>
location:       ftp://ftp.aud.alcatel.com/tcl
                 http://www.sunlabs.com/research/tcl/
    MSDOS:      harbor.ecn.purdue.edu in /pub/tcl/distrib/mstcl73e.zip
    Macintosh:  ftp://ftp.smli.com/pub/tcl/mac/
    Examples:   ftp tcl/* from barkley.berkeley.edu
    Kanji:      ftp pub/lang/tcl/jp/tk3.2jp-patch.Z from srawgw.sra.co.jp
    OS/2:       ftp /os2/unix/tcl2-73c.zip from hobbes.nmsu.edu
description:    A small text-oriented embedded language similar to LISP with
                 add-on extensions that allow it to also function more as a
                 shell.    Tcl also allows algebraic expressions to be written
                 for simplicity and convenience.    Its greatest strength lies
                 in its uniform representation of everything as a string.
                 This is also its weakness.
                 + 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:       ?
requires:       DOS port requires Desqview/X.
ports:     MSDOS, others in progress (see comp.lang.tcl FAQ)
discussion:     comp.lang.tcl
updated:        1993/11/15

language:       Tcl, Tk
package:        Tk
version:        4.0
parts:     GUI library
author:   John Ousterhout <ouster@sprite.Berkeley.EDU>
location:       ftp://ftp.aud.alcatel.com/tcl
                 http://www.sunlabs.com/research/tcl/
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 appearance 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 <Sean.Levy@cs.cmu.edu>
location:       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.3
parts:     library
author:   Brian Smith and Lawrence Rowe
location:       ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/Tcl-DP
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]
contact:        tcl-dp@roger-rabbit.CS.Berkeley.EDU
bugs:       tcl-dp-bugs@roger-rabbit.CS.Berkeley.EDU
updated:        1995/06/20

language:       Tcl
package:        Tickle
version:        5.0v1
parts:     editor, file translator, interpreter
author:   time@ice.com
location:       /pub/vendor/ice/tickle/Tickle5.0v1.hqx from ftp.msen.com
description:    A Macintosh Tcl interprter and library.       It includes a 
                 text editor (>32k); file translation utilities; support
                 for tclX extensions; some unix-equivelent utilites; access
                 to Macintosh functions (Resource Manager, Communications
                 Toolbox, OSA Components, Editions, and Apple Events); OSA
                 Script Support; and Drag and Drop.
bugs:       time@ice.com?
requires:       ?
ports:     Mac
portability:    Mac-specific package
updated:        1994/01/12
lref:       Tcl

language:       Tcl
package:        Wafe
version:        1.0
parts:     interface
author:   Gustaf Neumann <neumann@watson.ibm.com>
location:       ftp pub/src/X11/wafe/wafe-1.0.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.
portability:    very high, just needs X11R4 or X11R5.
discussion:     send "subscribe Wafe <Your Name>" to listserv@wu-wien.ac.at
updated:        1994/06/26

language:       Tcl
package:        Extended Tcl (tclx)
version:        7.4a
parts:     library
author:   Mark Diekhans <markd@Grizzly.com>,
                 Karl Lehenbauer <karl@NeoSoft.com>
location:       ftp://ftp.neosoft.com/pub/tcl/distrib/tclX7.4a.tar.gz
                 ftp://ftp.aud.alcatel.com/tcl/extensions/tclX7.4a.tar.gz
description:    Extended Tcl adds statements to the Tcl language to provide
                 high-level access unix system primitives.
contact:        tcl-project@NeoSoft.com
updated:        1994/07/17

language:       Tcl
package:        tcl-debug
version:        ?
parts:     debugger
author:   Don Libes <libes@cme.nist.gov>
location:       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:        MTtcl - Multi-threaded Tcl
version:        0.9
parts:     interpreter, library
location:       ftp://ftp.csua.berkeley.edu/pub/mttcl/MTtcl0.9.tar.gz
description:    The MTtcl package gives Tcl/Tk programmers access to the
                 multi-threading features of Solaris 2.    The package comes in
                 two parts; a modified version of Tcl 7.4, and a Tcl threads
                 extension.
                 Modifications were necessary to enable Tcl to work "safely" in
                 the presence of multiple threads.  The Tcl interpretter uses a
                 number of static and global variables to execute scripts.  If
                 two threads are using the same global, the behavior of the
                 script may be unpredictable.  This "safe" Tcl is called
                 MT-Sturdy Tcl.
                 The threads extension brings multi-thread programming into the
                 Tcl environment.  Multiple scripts can be interpretted
                 simultaneously with communication and synchronization between
                 scripts.  There is special support for using threads in Tk
                 scripts.  Documentation for the threads commands are in the
                 form of man pages.
requires:       Sparc, Solaris 2.3, Sparcworks 3.0 C compiler, Tcl 7.4, Tk 4.0
ports:     Sparc Solaris 2.3
updated:        1994/11/02

language:       Tcl
package:        Cygnus Tcl Tools
version:        Release-930124
parts:     ?
author:   david d 'zoo' zuhn <zoo@cygnus.com>
location:       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:       Tcl
package:        tclmidi
version:        2.0
parts:     ?? interpreter, documentation
author:   Mike Durian <durian@boogie.com>
location:       comp.sources.misc (v43i109)
description:    A language based on Tcl for creating/editing MIDI files.  With
                 the proper driver interface it can play them too.  It supports
                 function calls, recursion and conditionals (e.g. making the
                 chorus of your song a function, using loops for repeats,
                 etc.)  Device drivers supplied for BSD, Linux and SVR4.
requires:       Tcl-7.X
portability:    Should work on POSIX compliant systems.
updated:        1994/07/25

language:       Tcl
package:        narray
version:        0.10
author:   Sam Shen <sls@gainful.lbl.gov>
location:       ftp://overload.lbl.gov/pub/narray
description:    NArray is an extension to help Tcl cope with large in-memory
                 numeric arrays.    NArray's require only a few more bytes than
                 the storage required by the array.  In addition to providing
                 array referencing and setting, narray allows functions to be
                 mapped over each element of the array.    These functions are
                 compiled into byte code for performance about 100x faster than
                 straight tcl and only 5-10x slower than C.  (These numbers are
                 ball-park figures, actual results depend on the situation.)
                 If you have netCDF, then narray's can be saved to and loaded from
                 netCDF files.
updated:        1994/09/24

language:       Tcl, Tk
package:        tknt
version:        3.6 release 6beta4
parts:     interpeter, libraries, documentation
author:   port by Gordon Chaffee <chaffee@bugs-bunny.CS.Berkeley.EDU> 
                 and Lawrence A. Rowe <larry@cs.Berkeley.EDU> based on work by
                 Ken Kubota of the University of Kentucky and Software Research 
                 Associates, Inc. of Japan.
location:       ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/winnt/tknt36r6beta4
    Europe:     ftp://ftp.ibp.fr/pub/tcl/winnt/
description:    A port of Tcl/Tk and Tcl-DP to Windows NT.  It has run under
                 Windows NT 3.1, Windows NT 3.5, and in part on Windows 95 final
                 Beta. Small parts of this distribution were taken from the 
                 tkwin package by Ken Kubota of the Mathematical Sciences 
                 Computing Facility at the University of Kentucky.
bugs:       tknt@plateau.CS.Berkeley.EDU
updated:        1995/05/24

language:       Tcl 
package:        Object Tcl
version:        1.0
parts:     Tcl extension package including language reference, C++
                 binding reference.
author:   Dean Sheehan <deans@x.co.uk>
location:       http://www.ixi.com/devt/ObjectTcl (source & doc)
    UK:   http://www.x.co.uk/devt/ObjectTcl (source & doc)
                 ftp://ftp.aud.alcatel.com (source only)
description:    Object Tcl is a standard Tcl extension package that 
                 supports object oriented programming within Tcl with a
                 tight object oriented coupling to C++.
bugs:       otcl@x.co.uk
requires:       Tcl 7.?
contact:        otcl@x.co.uk
updated:        1995/08/29

language:       Marpa
package:        Marpa 
version:        2.8
parts:     parser-generator, examples, document
author:   Jeffrey Kegler <jeffrey@best.com>
location:       ftp /pub/jeffrey/marpa/v2.8/marpa.2.8.tar.gz
                 from ftp.best.com
description:    Marpa is a TCL 7.3 extended with an ambiguous context-free
                 parser which uses Earley's algorithm.  It is hacker friendly, 
                 with a variety of handy features.  It is intended for use in 
                 implementing parsers that use the same crude but effective 
                 approaches to parsing that humans use, whether these humans 
                 be reading natural language or computer code.  TCL code is 
                 attached to every production, explicitly or by default, and 
                 this is used to evaluate the result of the parse.  
                 Speed is reasonable if not blinding, and Marpa is in use in 
                 some applications.  Marpa is the outcome of the Milarepa 
                 prototype which implemented a different general parsing 
                 algorithm in Perl.
restriction:    GNU Public License Version 2
requires:       TCL 7.3, GNU C compiler, GNU Make
updated:        1995/04/19

language:       Expect
package:        Expect
version:        5.12
parts:     interpreter, library, debugger, examples, documentation
author:   Don Libes <libes@nist.gov>
location:       ftp pub/expect/expect.tar.gz from ftp.cme.host.gov
description:    Used to automate, test, or GUI-ize interactive programs
                 without any changes to underlying programs.  Standalone
                 version is driven with Tcl.  A library is provided for use
                 with C, C++, or any language that can call C functions.
reference:      "Exploring Expect", ISBN 1-56592-090-2, publisher: O'Reilly.
                 Man pages included with software distribution.
                 Numerous technical papers in conferences and journals,
                  some of which are available via anonymous ftp from
                  ftp.cme.nist.gov:pub/expect/*.ps.Z
bugs:       expect@nist.gov
restriction:    Expect itself is public-domain.       Certain pieces such as Tcl
                 are copyrighted but have unlimited availability.
                 Nothing is GNU copylefted.
requires:       UNIX or something like it
ports:     ported to all UNIX systems and some non-UNIX systems
portability:    uses autoconf for automatic configuration
status:   stable, but certain extensions are being actively developed
discussion:     comp.lang.tcl
help:       author or comp.lang.tcl (or see next support field)
support:        official: Cygnus Support, unofficial: author, comp.lang.tcl, 
contributions:  Awards or thank-you letters gratefully accepted.
announcements:  comp.lang.tcl
contact:        author
updated:        1994/11/25

language:       Z-shell
package:        zsh
version:        2.5.0
parts:     interpreter
author:   Paul Falstad <pf@ttisms.com>
location:       ftp pub/bas/zsh/zsh-*.tar.z from carlo.phys.uva.nl
                 comp.sources.misc (v43i089)
                 http://mal9000.bevc.blacksburg.va.us/zsh/zsh_home.shtml
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:        1994/07/13

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)
location:       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 proprietary runtime system)
status:   maintained but no longer developed
discussion:     caml-list@margaux.inria.fr, comp.lang.ml
contact:        Pierre Weis <Pierre.Weis@inria.fr>
updated:        1991/10/20

language:       Caml 
package:        Caml Light
version:        0.7
parts:     bytecode compiler, emacs mode, libraries, scanner generator, 
                 parser generator, runtime, interactive development environment
author:   Xavier Leroy, Damien Doligez (INRIA)
location:       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), Windows, Atari ST
portability:    very high
status:   actively developed
discussion:     caml-list@margaux.inria.fr, comp.lang.ml
contact:        Xavier Leroy <Xavier.Leroy@inria.fr>
updated:        1995/07/06

language:       CAML, Bigloo
package:        Camloo
version:        0.2
parts:     ?
author:   ? Manuel.Serrano@inria.fr, Pierre.Weis@inria.fr
location:       ftp from ftp.inria.fr [192.93.2.54], in Camloo0.2
description:    An implementation of CAML in Bigloo.  It can be considered as
                 an alternative to the regular camlc compiler.  In particular,
                 it has successfully compiled many complex Caml Light programs,
                 including camlc and the Coq system (the ``calculus of
                 constructions'', a proof assistant).
conformance:    Full compliance with Caml Light 0.6 and Caml Light Libraries
                 (including camlyacc and camllex).
requires:       Bigloo1.6c (available from same address).
contact:        Manuel.Serrano@inria.fr, Pierre.Weis@inria.fr.
updated:        1994/06/13

language:       Concurrent Clean
package:        The Concurrent Clean System
version:        1.0.2
parts:     development environment, documentation, compiler(byte-code),
                 compiler(native), interpreter(byte-code), examples
author:   Research Group on Functional Languages,
                 Research Institute for Declarative Systems,
                 University of Nijmegen
location:       ftp pub/Clean/* from ftp.cs.kun.nl
                 www www.cs.kun.nl/~clean
description:    The Concurrent Clean system is a programming environment for
                 the lazy 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.). 
                 + lazy and purely functional
                 + partial strict data types
                 + strongly typed - based on Milner/Mycroft scheme
                 + existential types
                 + uniqueness types
                 + type classes and type constructor classes
                 + record types
                 + module structure
                 + modern I/O
                 + programmer-infulenced evaluation order by annotations
                 + parallel and distributed evaluation
ports:     Macintosh, PowerMac (native), Sun-4, Linux, OS2
contact:        clean@cs.kun.nl
updated:        1995/08/03

language:       FP
package:        funcproglang
version:        1.0
parts:     translator(C)
author:   E. S. Biagioni
location:       comp.sources.unix archive volume 13
description:    Backus FP languag
updated:        1987

language:       Gofer (Haskell derivative)
package:        Gofer
version:        2.30
parts:     interpreter, compiler(->C), documentation, examples
author:   Mark Jones <jones-mark@cs.yale.edu>
location:       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:        1994/06/10

language:       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 <augustss@cs.chalmers.se>
location:       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.26
parts:     translator (C, SPARC), profiler
author:   AQUA project, headed by Simon Peyton Jones
                 <simonpj@dcs.glasgow.ac.uk>
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
                 http://www.dcs.glasgow.ac.uk/fp/software/ghc.html
description:    A near complete subset of Haskell 1.2, with numerous
                 extensions from 1.3.
conformance:    All of Haskell 1.2 and some 1.3 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:       <glasgow-haskell-bugs@dcs.glasgow.ac.uk>
requires:       GNU C 2.1+, perl
ports:     solid: Sun4, Sun3; sort of: HP-PA, Alpha, DECstation
portability:    should be high
contact:        <glasgow-haskell-request@dcs.glasgow.ac.uk>
updated:        1994/07/27

language:       Haskell
package:        Yale Haskell
version:        2.1
parts:     compiler, documentation, reference manual (dvi format)
author:   Yale Haskell project <haskell-request@cs.yale.edu>
location:       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:        1994/07/29

language:       Hope
package:        ?
version:        ?
parts:     ?
author:   ?
location:       ftp://ftp-ala.doc.ic.ac.uk/pub/papers/R.Paterson/hope.tar.gz
                 http://www-ala.doc.ic.ac.uk/~rap/Hope/
description:    It's a fairly old functional language, its predecessor NPL
                 having grown out of Burstall and Darlington's work on program
                 transformation in the late 70s.    Its key innovation, algebraic
                 data types and pattern matching, has since become a fixture in
                 all modern functional programming languages.  When it was
                 created (around 1980) it had adopted the key innovation of 
                 the  language ML (also developed at Edinburgh), namely
                 polymorphic types, which are
                 also now a standard feature in FPLs.
                 In my [rap's --ed] opinion, Hope's advantage over most other 
                 FPLs is its small size and simplicity.    I think that makes 
                 it the ideal vehicle for learning functional programming.  
                 I also find ithandy for prototyping various ideas, and
                 sometimes I fiddle with the interpreter to add experimental 
                 features.
references:     http://santos.doc.ic.ac.uk/~rap/Hope/
ports:     Unix, Mac, PC
contact:        Ross Paterson <rap@doc.ic.ac.uk>
updated:        1992/11/27

language:       IFP (Illinois Functional Programming)
package:        ifp
version:        0.5
parts:     interpreter
author:   Arch D. Robison <robison@shell.com>
location:       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:      Arch D. Robison, "Illinois Functional Programming: A
                  Tutorial," BYTE, (February 1987), pp. 115--125.
                 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:   ?
location:       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 <dbm@research.att.com>, Lal George 
                 <george@research.att.com>, AJ. H. Reppy <jhr@research.att.com>,
                 A. W. Appel <appel@princeton.edu>
location:       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, OS/2
updated:        1993/02/18

language:       Concurrent ML
package:        Concurrent ML
version:        0.9.8
parts:     extension
author:   ?
location:       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:       PFL (Persistant Functional Language)
package:        pfl
version:        0.1
parts:     ?, documentation, libraries
author:   Carol Small <carol@dcs.bbk.ac.uk>
location:       ftp pub/linux/? from ftp.demon.co.uk 
description:    PFL is a computationally complete database environment
restriction:    GNU General Public License
requires:       GNU C++
contact:        Tim Holmes <timh@psammead.demon.co.uk>
updated:        1994/06/01

language:       SASL
iref:       (SASL) 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 
location:       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 <tofte@diku.dk>,
                 and Lars Birkedal at Edinburgh and Copenhagen Universities.
location:       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:       Standard ML
package:        Moscow ML
version:        1.30
parts:     bytecode compiler, runtime, libraries, documentation
author:   Sergei Romanenko <sergei-romanenko@refal.msk.su>
location:       ftp://ftp.dina.kvl.dk/pub/mosml/ 
description:    Moscow SML provides a light-weight implementation of the
                 Standard ML Core language, a strict functional language widely
                 used in teaching and research.
                 Moscow SML is particularly suitable for teaching and 
                 experimentation, where fast compilation and modest storage 
                 consumption are more important than fast program execution.
                 Thanks to the efficient run-time system of Caml Light, Moscow
                 SML compiles fast and uses little memory.  Typically it uses
                 5-10 times less memory than SML/NJ and 2-3 times less than
                 Edinburgh ML.  Yet the bytecode is only 3 to 12 times slower
                 than SML/NJ 0.93 compiled native code (fast on PCs, slower on
                 RISCs).
                 Moscow SML implements arithmetic exceptions, and thus deals 
                 with the entire Core language.
requires:       Caml Light 0.61
ports:     anything Caml Light supports
updated:        1994/09/30

language:       SISAL 1.2
package:        The Optimizing SISAL Compiler
version:        12.9+
parts:     compiler, manuals, documentation, examples, debugger,
                 user support
author:   Thomas M. DeBoni <deboni@sisal.llnl.gov>
location:       ftp pub/sisal from sisal.llnl.gov
description:    Sisal is a functional language aimed at parallel numerical and
                 scientific programming. It provides Fortran-like performance
                 (or better), automatic parallelism, and excellent portability.
                 It is an easy language to learn and use; Sisal programs tend
                 to be easier to read and understand than those in other
                 functional or parallel languages. The Optimizing Sisal
                 Compiler, OSC, allows efficient use of machine resources
                 during serial or parallel execution, and guarantees
                 determinate results under any execution environment.
ports:     Unix, Cray-2 Y-MP & C-90 and Convex Sequent and SGI,
                 Sun/Sparc, Vax, HP, PC, Mac
portability:    Can run on many Unix machines, shared-memory machines,
                 workstations or personal computers.
reference:      http://www.llnl.gov/sisal
updated:        1994/07/15

language:       OPAL
package:        ocs 
version:        2.1e
parts:     compiler(->C), interpreter, translator, 
                 library, documentation, examples,
                 tutorial, run-time.
author:   The OPAL Group at Technical Univ. of Berlin.
                 <opal@cs.tu-berlin.de>
location:       ftp /pub/local/uebb/ocs/* from ftp.tu-berlin.de
      Europe:   ftp pub/unix/languages/opal/* from ftp.fu-berlin.de
      U.S.  :   ftp opal/* from ftp.isi.edu
                 http://www.cs.tu-berlin.de/~opal/
description:    The language OPAL has been designed as a testbed
                 for the development of functional programs. Opal
                 molds concepts from Algebraic Specification and
                 Functional Programming, which shall favor the
                 (formal) development of (large) production-quality
                 software that is written in a purely functional
                 style.
                 The core of OPAL is a strongly typed, higher-order,
                 strict applicative language which belongs to the
                 tradition of HOPE and ML. The algebraic flavour of
                 OPAL shows up in the syntactical appearance and
                 the preference of parameterization to polymorphism.
reference:      ftp.tu-berlin.de:pub/local/uebb/papers/DesignImplOpal.ps.gz
features:       In the latest "pseudoknot" benchmark, its performance falls 
                 in the top group of the functional languages tested. Orders 
                 of magnitude faster than the interpreted fps.
bugs:       Report bugs to opal-bugs@cs.tu-berlin.de
restriction:    Constructors cannot have more then 24 components.
requires:       gcc 2.x + gnu make 3.64 or better.
ports:     Most unix( SPARCs, DECstations, NeXTs, PC-Linux, 
                 HP7xx).
portability:    Very portable,one just needs to find out which compiler
                 switches are needed.
status:   active, supported.
discussion:     opal-discussion@cs.tu-berlin.de
help:       opal@cs.tu-berlin.de
support:        opal@cs.tu-berlin.de
                 opal-bugs@cs.tu-berlin.de
announcements:  opal-announce@cs.tu-berlin.de
contact:        opal@cs.tu-berlin.de
updated:        1995/08/01

--
Send compilers articles to compilers@iecc.com,
meta-mail to compilers-request@iecc.com.

----------------------------------------------------------------------

Path: news1.ucsd.edu!ihnp4.ucsd.edu!swrinde!cs.utexas.edu!uwm.edu!news.cse.psu.edu!news.ecn.bgu.edu!vixen.cso.uiuc.edu!newsfeed.internetmci.com!in3.uu.net!ivan.iecc.com!ivan.iecc.com!not-for-mail
From: free-compilers@idiom.com (Steven Robenalt)
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Subject: Catalog of compilers, interpreters, and other language tools [p2of5]
Supersedes: <free2-Jul-96@comp.compilers>
Followup-To: comp.lang.misc
Date: 1 Aug 1996 07:00:07 -0400
Organization: Idiom Consulting / Berkeley, CA
Lines: 1596
Sender: johnl@iecc.com
Approved: compilers@iecc.com
Expires: 1 Sep 96 23:59:00 GMT
Message-ID: <free2-Aug-96@comp.compilers>
References: <free1-Aug-96@comp.compilers>
Reply-To: free-compilers@idiom.com (Steven Robenalt)
NNTP-Posting-Host: ivan.iecc.com
Summary: Monthly posting of free language tools that include source code
Keywords: tools, FTP, administrivia
Xref: news1.ucsd.edu comp.compilers:7651 comp.lang.misc:13944 comp.archives.admin:1258 news.answers:63340 comp.answers:15854

Archive-name: compilers/free/part2
Last-modified: 1996/04/01
Version: 9.0

C variants
-------------------------------------------------------------------------------
category:       C variants
description:    These are languages that are closely based on C.  
lref:       C-Refine,C++-Refine&comma *-Refine            
iref:       (Duel) DUEL

language:       C, C++, Objective-C, RTL
package:        GNU CC (gcc)
version:        2.7.1
parts:     compiler, runtime, examples, documentation
                 Library listed separately
author:   Richard Stallman and others
location:       ftp gcc-2.X.X.tar.gz from a GNU archive site
    MSDOS:      ftp pub/msdos/djgpp/* from oak.oakland.edu
    6811:       ftp pub/coactive/gcc-6811-beta.tar.gz from netcom.com
                           (these are diffs from 2.5.8 distribution)
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.
                 There is a bounds checking port based on gcc 2.7.1.
                 Patches for this port are available at:
                   ftp://dse.doc.ic.ac.uk/pub/misc/bcc
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.
bugs:       gnu.gcc.bug (for C/Objective-C), gnu.g++.bug (for C++)
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}, 6811
portability:    very high
status:   actively developed
discussion:     gnu.gcc.help (for C/Objective-C), gnu.g++.help (for C++)
announcements:  gnu.gcc.announce (for C/Objective-C),
                 gnu.g++.announce (for C++)
updated:        1995

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:       ftp mpw-gcc-1.37.1r14 from ?
description:    This is an unsupported port of the GNU C compiler to the
                 Macintosh environment.    The GNU project is actively
                 supporting the League for Programming Freedom (LPF) boycott
                 of Apple due to the "Look and Feel" lawsuit and chooses not
                 to support this port. [Note: I have been told this is no
                 longer in effect, can someone from LPF update me? - ed]
bugs:       ?
restriction:    GNU General Public License
ports:     Macintosh
portability:    very high
status:   ?
updated:        1993/11/27

language:       C, Fortran, SUIF
package:        Stanford SUIF Compiler
version:        1.0.1
parts:     compiler(->C, ->MIPS), run-time, documentation, examples
author:   "Stanford Compiler Group" <suif@hawg.stanford.edu>
location:       ftp pub/suif/suif-1.0.1.tar.Z from suif.stanford.edu
                 http://suif.Stanford.EDU.
                 (Patch to version 1.0 also available)
description:    SUIF is a framework for research in compiler algorithms.
                 It contains a kernel, which supports the Stanford
                 University Intermediate Format (file I/O, manipulation,
                 etc.), and a toolkit consisting of passes and libraries
                 for dependence analysis, loop transformations,
                 scalar optimizations, code generation, etc.  Can generate
                 parallel code from major benchmarks.
conformance:    C front end is ANSI-C compatible, FORTRAN front end mostly f77
reference:      Wide range of published papers available from ftp site
restriction:    Free for non-commercial use; redistribution prohibited
requires:       GNU g++ 2.5.8, GNU make
ports:     DECstation, SPARC/SunOS/Solaris, SGI, Linux
portability:    Very system independent - requires UNIX
status:   First public release; not supported, but we'll try to help
discussion:     Mailing list information included in distribution
                 Archives available from http://suif.stanford.edu
updated:        1994/06/15

language:       C
package:        GNU C Library (glibc)
version:        1.09
parts:     library, documentation
author:   ?
location:       ftp glibc-1.09.1.tar.gz from a GNU archive site
                 Source for "crypt" must be FTP'ed from non-USA site if you are
                 outside the USA: ftp glibc-1.09-crypt.tar.z from ftp.uni-c.dk.
description:    The GNU C library is a complete drop-in replacement for libc.a
                 on Unix.  It conforms to the ANSI C standard and POSIX.1, has
                 most of the functions specified by POSIX.2, and is intended to
                 be upward compatible with 4.3 and 4.4 BSD.  It also has several
                 functions from System V and other systems, plus GNU
                 extensions.
conformance:    ANSI and POSIX.1 superset.  Large subset of POSIX.2
bugs:       Reports sent to mailing list bug-glibc@prep.ai.mit.edu.
ports:     most os's on alpha, i386, m88k, mips, and sparc
updated:        1994/11/07

language:       C
package:        fdlibm
version:        ?
parts:     library
author:   Dr. K-C Ng
location:       ftp netlib/fdlibm.tar from netlib.att.com
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
location:       ftp://archimedes.nosc.mil/pub/misc/c386-4.2b.tar.Z
                 [Temporary location, looking for a permanent home. -ed]
                 You can get an older, 68k-only version from 
                 ftp motorola/m68k/cc68k.arc from bode.ee.ualberta.ca
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.minix
updated:        ?

language:       C
package:        GNU superoptimizer
version:        2.5
parts:     exhaustive instruction sequence optimizer
author:   Torbjorn Granlund <tege@gnu.ai.mit.edu> with Tom Wood
location:       ftp superopt-2.5.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 <tege@gnu.ai.mit.edu>
restriction:    GNU General Public License
ports:     Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP)
updated:        1995

language:       C
package:        xdbx
version:        2.1
parts:     X11 front end for dbx
author:   ?
location:       retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
description:    ?
contact:        Po Cheung <cheung@sw.mcc.com>
updated:        1992/02/22

language:       C
package:        ups
version:        2.1
parts:     interpreter, symbolic debugger, tests, documentation
author:   Mark Russell <mtr@ukc.ac.uk>
location:       ? ftp from contrib/ups*.tar.Z from export.lcs.mit.edu ?
    unofficial: unofficial enhancements by Rod Armstrong <rod@sj.ate.slb.com>,
                 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 <mtr@ukc.ac.uk>
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:   ?
location:       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 <cshotton@oac.hsc.uth.tmc.edu>
updated:        1993/05/14

language:       C
package:        ae (application executive)
version:        2
parts:     interpreter
author:   Brian Bliss <bliss@convex.com> 
location:       ftp://sp2.csrd.uiuc.edu/pub/CSRD_Software/APPL_EXEC/
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.
                 Version 2 differs substantially in that the code
                 fragments are read into an intermediate form before being 
                 evaluated, and can be stored in this form and then called 
                 from either user code or the interpreter. Version 2 also 
                 handles looping constructs (and the full C language),
                 unlike version 1.
ports:     SunOS (cc or gcc), Alliant FX, SGI (partial), 
                 Cray YMP (partial)
updated:        1993/07/18

language:       C (ANSI), lcc intermediate format
package:        lcc
version:        3.4b
parts:     compiler, test suite, documentation
authors:        Chris Fraser <cwf@research.att.com>
                 Dave Hanson <drh@cs.princeton.edu>
location:       ftp://ftp.cs.princeton.edu/pub/lcc/*
description:    + hand coded C parser (faster than yacc)
                 + retargetable
                 + code "nearly as good as GCC"
ports:     x86, MIPS, SPARC
status:   small-scale production use
discussion:     email "subscribe lcc" to majordomo@cs.princeton.edu
updated:        1995/02/01

language:       C, lcc intermediate format
package:        Chop
version:        0.6
parts:     code generator
author:   Alan L. Wendt <wendt@CS.ColoState.EDU>
location:       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 <marick@cs.uiuc.edu>
location:       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
version:        3.1
parts:     compiler
author:   Christopher Glaeser
location:       ftp pub/mpl-* from maspar.maspar.com
description:    MPL is based on ANSI C and includes SIMD language estensions.
                 The new keyword "plural" is a type qualifier which is used 
                 to declare variables on a parallel array.  For example, the 
                 declaration "plural int i" declares an "i" on each of the 
                 parallel processors.
                 In addition, plural expressions can be used in IF, WHILE, 
                 SWITCH, and other statements to support plural control flow.  
                 The MPL compiler is based on the GNU compiler.
contact:        Christopher Glaeser cdg@nullstone.com
updated:        ?

language:       C
package:        gc
version:        3.4
parts:     library
author:   Hans-J. Boehm <boehm@parc.xerox.com>, Alan J. Demers
location:       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:   ?
location:       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 <asterian@eecs.umich.edu>
location:       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:   ?
location:       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 
location:       alt.sources archive, 1993/06/28, <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:        1993/06/28

language:       C
package:        cxref
version:        ?
parts:     code analysis tool
author:   Arnold Robbins <arnold@gatech.?>
location:       use archie
description:    A cross-reference genrator
updated:        ?

language:       C
package:        xref
version:        ?
parts:     code analysis tool
author:   Jim Leinweber
location:       use archie
description:    A cross-reference genrator
updated:        1985 ?

language:       C
package:        csize
version:        1.12
parts:     code analysis tool
author:   Christopher Lott <lott@informatik.uni-kl.de>
location:       comp.sources.reviewed volume 4
description:    A C language code counter
updated:        1994/10/17

language:       C, C++
package:        Xcoral
version:        2.5
parts:     editor
author:   ?
location:       ftp contrib/editors/xcoral* from ftp.x.org
        Europe: ftp X/contrib-R5/clients/xcoral* from ftp.inria.fr
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:        1995/12/21

language:       C++
package:        Lily (LIsp LibrarY)
version:        0.1
parts:     library
author:   Roger Sheldon <sheldon@kong.gsfc.nasa.gov>
location:       ftp packages/development/libraries/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.
restriction:    GNU Library General Public License
requires:       C++ (g++ or Turbo C++, but not cfront)
updated:        1993/11/08

language:       C++
package:        C++SIM
version:        1.0
parts:     library
author:   Mark Little <M.C.Little@newcastle.ac.uk>
location:       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 <gb@cs.purdue.edu>
location:       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:   ?
location:       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 <spr@cs.brown.edu>
updated:        ?

language:       C++
package:        ET++
version:        3.0-alpha
parts:     class libraries, documentation
author:   ?
location:       ftp C++/ET++/* from iamsun.unibe.ch
description:    ?
contact:        Erich Gamma <gamma@ifi.unizh.ch>
updated:        1992/10/26

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:        1991/10/23

language:       C++
package:        cppp
version:        1.14
parts:     parser (yacc)
author:   Tony Davis <ted@cs.brown.edu>
location:       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:   ?
location:       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 <nguyen@crd.ge.com>
updated:        1992/08/05

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:        1994/07/19

language:       C++
package:        ??? A C++ Parser toolkit
version:        ?
parts:     library
author:   Mayan Moudgill <moudgill@cs.cornell.EDU>
location:       ftp pub/Parse.shar from ftp.cs.cornell.edu
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:        1993/04/11

language:       C++, Extended C++
package:        EC++
version:        ?
parts:     translator(C++), documentation
author:   Glauco Masotti <masotti@lipari.usc.edu>
location:       ? ftp languages/c++/EC++.tar.Z from ftp.uu.net ?
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:        1989/10/10

language:       C++
package:        LEDA
version:        3.0
parts:     libraries
author:   ?
location:       ftp pub/LEDA/* from ftp.mpi-sb.mpg.de
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:        1992/11/30

language:       E (a persistent C++ variant)
package:        GNU E
version:        2.3.3
parts:     compiler
author:   ?
location:       ftp exodus/E/gnu_E* from ftp.cs.wisc.edu
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:        1993/01/20

language:       C (ANSI)
package:        ? 1984 ANSI C to K&R C preprocessor ?
version:        ?
parts:     translator(K&R C)
author:   ?
location:       from comp.sources.unix archive volume 1
description:    ?
status:   ?
updated:        ?

language:       C (ANSI)
package:        unproto ?
version:        ? 4 ? 1.6 ?
parts:     translator(K&R C)
author:   Wietse Venema <wietse@wzv.win.tue.nl>
location:       ftp pub/unix/unproto4.shar.Z from ftp.win.tue.nl
description:    ?
contact:        ?
updated:        ?

language:       C (ANSI)
package:        LCLint
version:        1.4
parts:     code analysis tool
author:   David E Evans <evs@larch.lcs.mit.edu>
location:       ftp pub/Larch/lclint/ from larch.lcs.mit.edu
description:    LCLint is a lint-like tool for ANSI C.       It can be used like a
                 traditional lint to detect certain classes of C errors
                 statically; if formal specifications are also supplied, it can
                 do more powerful checking to detect inconsistencies between
                 specifications and code.
references:     http://larch-www.lcs.mit.edu:8001/larch/lclint.html
ports:     OSF/1, Ultrix, SunOS, Solaris, Linux, IRIX
updated:        1994/10/16

language:       C (ANSI)
package:        cproto
version:        4 patchlevel 0
parts:     translator(K&R C)
author:   Chin Huang <chin.huang@canrem.com>
location:       comp.sources.misc volume 29
description:    cproto generates function prototypes from function definitions.
                 It can also translate function definition heads between K&R
                 style and ANSI C style.
ports:     Unix, VMS, MS-DOS
updated:        1992/07/18

language:       C (ANSI)
package:        cextract
version:        1.7
parts:     translator(K&R C), header file generator
author:   Adam Bryant <adb@cs.bu.edu>
location:       ftp from any comp.sources.reviewed archive
description:    A C prototype extractor, it is ideal for generating
                 header files for large multi-file C programs, and will
                 provide an automated method for generating all of the
                 prototypes for all of the functions in such a program.
                 It may also function as a rudimentary documentation
                 extractor, generating a sorted list of all functions
                 and their locations
ports:     Unix, VMS
updated:        1992/11/03

language:       C (ANSI)
package:        cgram
version:        ?
parts:     grammar
author:   Mohd Hanafiah Abdullah <napi@cs.indiana.edu>
location:       ftp pub/comp.compilers/cgram-ll1.Z from primost.cs.wisc.edu
description:    An ANSI C grammar in LL(k) (1 <= k <= 2).  It's written in 
                 Scheme, so you need to have a Scheme interpreter to process 
                 the grammar using a program (f-f-d.s) that extracts the 
                 FIRST/FOLLOW/DIRECTOR sets.
requires:       Scheme
ports:     ?
updated:        ?

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/pub/c++grammar/* from ftp.infoseek.com
        Japan:   ftp://ftp.sra.co.jp/.a/pub/cmd/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:        1991/07/01

language:       C (ANSI/ISO)
package:        Metre
version:        2.3
parts:     grammar(yacc,lex), generated parser files, metrics examples,
                 documentation (man pages).
author:   Paul Long <plong@perf.com>
location:       ftp pub/file/metre.tar.gz from iecc.com
description:    Metre is a freely-distributable ANSI/ISO Standard C parser 
                 whose behavior is determined by a set of rules. Sets are 
                 provided for a metrics tool and a call-tree tool. Written 
                 in Standard C, lex, and yacc, it is source-code portable 
                 across operating systems, Standard C compilers, and the 
                 various flavors of lex and yacc.
conformance:    Intended to conform to ANSI and ISO standards.
updated:        1995/04/04

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:        1992/02/22

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 gdb-*.tar.[zZ] from a 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:        1995/11/04

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 os2/2_x/unix/gnu/emx0.8g from ftp-os2.cdrom.com
    Europe:     ftp soft/os2/emx-0.8g from ftp.uni-stuttgart.de
description:    ?
discussion:     subscribe to emx-list using listserv@ludd.luth.se
updated:        1992/09/21

language:       C
package:        Pthreads
version:        1.17
parts:     library
author:   PART (POSIX / Ada-Runtime Project)
location:       ftp pub/PART/pthreads* from ftp.cs.fsu.edu
description:    As part of the PART project we have been designing and
                 implementing a library package of preemptive threads which is
                 compliant with POSIX 1003.4a Draft 6. A description of the
                 interface for our Pthreads library is now available on ftp.
restriction:    GNU General Public License
ports:     Sun-4/SunOS 4.1.x
discussion:     send "Subject: subscribe-pthreads" to mueller@uzu.cs.fsu.edu
contact:        pthreads-bugs@ada.cs.fsu.edu
updated:        1993/07/22

language:       C, nroff, texinfo, latex, html
package:        c2man
version:        2.0 patchlevel 34
parts:     documentation generator (C -> nroff -man, -> texinfo, -> latex,
                 -> html)
author:   Graham Stoney <greyham@research.canon.oz.au>
location:       ftp from any comp.sources.misc archive, in volume42
                 (the version in the comp.sources.reviewed archive is obsolete)
                 ftp /pub/Unix/Util/c2man-2.0.*.tar.gz from dnpap.et.tudelft.nl
    Australia:  ftp /usenet/comp.sources.misc/volume42/c2man-2.0/*
                 from archie.au
    N.America:  ftp /usenet/comp.sources.misc/volume42/c2man-2.0/*
                 from ftp.wustl.edu
    Europe:     ftp /News/comp.sources.misc/volume42/c2man-2.0/*
                 from ftp.irisa.fr
    Japan:      ftp /pub/NetNews/comp.sources.misc/volume42/c2man-2.0/*
                 from ftp.iij.ad.jp
    Patches:    ftp pub/netnews/sources.bugs/volume93/sep/c2man* from lth.se
description:    c2man is an automatic documentation tool that extracts comments
                 from C source code to generate functional interface
                 documentation in the same format as sections 2 & 3 of the Unix
                 Programmer's Manual. It requires minimal effort from the
                 programmer by looking for comments in the usual places near the
                 objects they document, rather than imposing a rigid
                 function-comment syntax or requiring that the programmer learn
                 and use a typesetting language. Acceptable documentation can
                 often be generated from existing code with no modifications.
conformance:    supports both K&R and ISO/ANSI C coding styles
features:       + generates output in nroff -man, TeXinfo, LaTeX or HTML format
                 + handles comments as part of the language grammar
                 + automagically documents enum parameter & return values
                 + handles C (/* */) and C++ (//) style comments
                 - doesn't handle C++ grammar (yet)
requires:       yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX.
ports:     Unix, OS/2, MSDOS, VMS.
portability:    very high for unix, via Configure
status:   actively developed; contributions by users are encouraged.
discussion:     via a mailing list: send "subscribe c2man <Your Name>" (in the
                 message body) to listserv@research.canon.oz.au
help:       from the author and other users on the mailing list:
                 c2man@research.canon.oz.au
announcements:  patches appear first in comp.sources.bugs, and then in
                 comp.sources.misc.
updated:        1995/03/02

language:       Small-C
package:        smallc
version:        ?
parts:     compiler
author:   ?
location:       ?, comp.sources.unix volume 5
description:    Small-C is a subset of the C programming language for which a
                 number of public-domain compilers have been written.  The
                 original compiler was written by Ron Cain and appeared in the
                 May 1980 issue of Dr.Dobb's Journal.  More recently, James
                 E.Hendrix has improved and extended the original Small-C
                 compiler and published "The Small-C Handbook", ISBN
                 0-8359-7012-4 (1984).  Both compilers produce 8080 assembly
                 language, which is the most popular implementation of Small-C
                 to-date.  The 6502 Small-C compiler for the BBC Micro is based
                 on "RatC", a version of the original Ron Cain compiler
                 described by R.E.Berry and B.A.Meekings in "A Book on C", ISBN
                 0-333-36821-5 (1984).  The 6502 compiler is written in Small-C
                 and was bootstrapped using Zorland C on an Amstrad PC1512 under
                 MSDOS 3.2, then transferred onto a BBC Micro using Kermit.  The
                 compiler can be used to cross-compile 6502 code from an MSDOS
                 host, or as a 'resident' Small-C compiler on a BBC Micro.
conformance:    subset of C
ports:     68k, 6809, VAX, 8080, BBC Micro, Z80
updated:        1989/01/05

language:       Maisie
package:        Maisie
version:        2.1
parts:     ?, user manual, examples
author:   Wen-Toh Liao <wentoh@may.CS.UCLA.EDU>
location:       ftp pub/maisie.2.1.1.3.tar.Z from cs.ucla.edu 
description:    C-based parallel programming language that uses asynchronous
                 typed-message passing and supports light-weight processes.
                 The language is C with enhancements to allow processes to be
                 defined, created, and destroyed, to send and receive messages,
                 and manipulate the system clock.
ports:     PVM/3.1, Cosmic Environment, and SUN Sockets.
updated:        1993/06/14

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:        1992/12/15

language:       uC++
package:        uC++
version:        4.4
parts:     translator (uC++ to C++), concurrency library, documentation,
                 examples
author:   Peter A. Buhr <pabuhr@uwaterloo.ca>
location:       ftp pub/uSystem/u++-4.4.tar.gz from plg.uwaterloo.ca
description:    An extended C++ with light-weight concurrency for Unix-like
                 systems.  uC++ is pronounced "micro-C++".
reference:      Software--Practice and Experience, 22(2):137-172, February
                 1992.
features:       1. true multiprocessor support on SUN, DEC, SGI, Sequent
                 2. coroutine, monitor and task extensions to C++
                 3. non-blocking I/O library
                 4. mechanism to group tasks and virtual processors
                 5. non-deterministic time slicing
bugs:       LINUX non-blocking sockets fail
requires:       dmake 4.0+ (ftp pub/dmake/dmake40.tar.gz from plg.uwaterloo.ca)
                 GNU C++ 2.6.3+
ports:     Sequent (BSD), SUN Solaris (SPARC) & SunOS (SPARC, M68K), DEC
                 OSF 3.2+ (Alpha), SGI IRIX 5.3+ (MIPS), IBM AIX 3.2+ (RS/6000),
                 HP HP-UX 9.03+ (PA), LINUX 1.2.13+/1.3.20+ (i386+)
portability:    Needs "setitimer" and "sigcontext" from Unix-like systems.
updated:        1995/09/14

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:        1994/05/10

language:       Glenda
package:        Glenda parallel programming environment
version:        0.91
parts:     preprocessor,tuple server, and tuple functions
author:   Ray Seyfarth <seyfarth@whale.st.usm.edu>
location:       ftp pub/glenda.tar.Z from seabass.st.usm.edu
description:    Glenda is a programming environment for parallel programming
                 implementing a variation of the Linda programming model
                 defined by Carriero and Gelernter. It consists of a C
                 preprocessor to allow reasonable syntax for the added
                 operations, a tuple server process and a set of functions to
                 connect an application to the tuple server.
ports:     RS6000, SUN4, LINUX
updated:        1993/06/01

compiled, imperative languages
-------------------------------------------------------------------------------
category:       compiled, imperative languages
description:    This is the set of traditional infix languages other than C 
                 and Pascal which each have their own section.  
cref:       C variants
cref:       Wirth family languages
lref:       Simula
lref:       Fortran

language:       Ada
package:        Ada/Ed
version:        1.11.0a+
parts:     translator(?), interpreter, ?
author:   ?
location:       ftp pub/Ada/Ada-Ed from cnam.cnam.fr
description:    Ada/Ed is a translator-interpreter for Ada. It is
                 intended as a teaching tool, and does not have the
                 capacity, performance,    or robustness of commercial
                 Ada compilers. Ada/Ed was developed at New York
                 University, as part of a long-range project in
                 language definition and software prototyping.
conformance:    Ada 83.       Last validated with version 1.7 of the ACVC tests.
                 being an interpreter, it does not implement most 
                 representation clauses, and thus does not support systems 
                 programming close to the machine level.
ports:     Unix, MSDOS, Amiga, Atari
contact:        Michael Feldman <mfeldman@seas.gwu.edu>
updated:        1992/05/08

language:       Ada
package:        GW-Ada
version:        ?
parts:     translator, interpreter, editor, runtime environment
author:   ?
location:       ftp languages/ada/compiler/adaed/gwu/9309/dos
                 or languages/ada/compilers/adaed/gwu/mac from 
                 wuarchive.wustl.edu
description:    Ada/Ed is a translator-interpreter for Ada. It is
                 intended as a teaching tool, and does not have the
                 capacity, performance,    or robustness of commercial
                 Ada compilers. Ada/Ed was developed at New York
                 University, as part of a long-range project in
                 language definition and software prototyping.
conformance:    "Ada/Ed handles nearly all of Ada 83"
restriction:    For educational purposes only.
ports:     MSDOS and Mac
contact:        Michael Feldman <mfeldman@seas.gwu.edu>
updated:        1993/09/01

language:       Ada
package:        Ada grammar
version:        ?
parts:     scanner(lex), parser(yacc)
author:   ?
location:       ftp from primost.cs.wisc.edu or mail to
                 compilers-server@iecc.cambridge.ma.us
description:    ?
contact:        masticol@dumas.rutgers.edu
updated:        1991/10/12

language:       Ada
package:        Compiler for Toy/Ada in SML/NJ
version:        ?
parts:     translator(?)
author:   Amit Bhatiani <bhatiaa@polly.cs.rose-hulman.edu>
location:       ftp pub/compiler*.tar.Z from master.cs.rose-hulman.edu
description:    ?
conformance:    subset
updated:        1992/04/08

language:       Ada
package:        NASA PrettyPrinter
version:        ?
parts:     Ada LR parser, ?
author:   ? Michael Feldman <mfeldman@seas.gwu.edu> in comp.compilers
                 provided the initial reference to this package, he also has a
                 yacc grammar for ada.
location:       ftp from Ada Software Repository on wsmr-simtel20.army.mil
description:    pretty-print program that contains an ada parser
requires:       Ada
updated:        1991/02/01

language:       Ada
package:        yacc grammar for Ada
version:        ?
parts:     parser(yacc)
author:   Herman Fischer
location:       ftp  PD2:<ADA.EXTERNAL-TOOLS>GRAM2.SRC 
                 from wsmr-simtel20.army.mil
description:    ?
contact:        ?
updated:        1991/02/01

language:       Ada
package:        Paradise
version:        2.0
parts:     library
author:   ?
location:       ftp pub/Ada/Paradise from cnam.cnam.fr
description:    Paradise is a subsystem (a set of packages) developped
                 to implement inter-processes, inter-tasks and
                 inter-machines communication for Ada programs in
                 the Unix world. This subsystem gives the user full
                 access to files, pipes, sockets (both Unix and
                 Internet), and pseudo-devices.
ports:     Sun, Dec, Sony Mips, Verdex compiler, DEC compiler, 
                 Alsys/Systeam compiler
contact:        paradise-info@cnam.cnam.fr
updated:        1992/09/30

language:       Ada
package:        Adamakegen
version:        2.6.3
parts:     makefile generator
author:   Owen O'Malley <omalley@porte-de-st-ouen.ics.uci.edu>
location:       ftp ftp/pub/arcadia/adamakegen* from spare.ics.uci.edu
description:    A program that generates makefiles for Ada programs 
requires:       Icon
ports:     Verdix, SunAda 
updated:        1993/03/02

language:       Ada 95
package:        GNAT
version:        3.01
parts:     Full compiler, standard environment, build tools, 
                 cross-reference.
author:   The GNAT Project at New York University.
                 Now maintained by Ada Core Technologies (report@gnat.com)
                 See also http://www.gnat.com/
location:       ftp pub/gnat/* from cs.nyu.edu
                 debugger at:
                   ftp://helen.cs.berkeley.edu/pub/gdp/ 
                 other mirror sites, see home page.
description:    full compiler for Ada95, uses GCC back-end technology. Current
                 targets include SunOS, Sun/Solaris, OS/2, SGI/IRIX, Windows NT,
                 Windows95, Linux, NetBSD, Alpha/Dec-Unix, DOS, others. 
conformance:    Fully validated on SGI/IRIX under version 2.0 of ACVC 
                 validation suite. Other validations to follow 1Q 1996. 
requires:       gcc 2.7.1 or higher
status:   Complete, in active use.
updated:        1995/12/19

language:       Ada 9X
package:        grammar9x.y and lexer9x.l
version:        5.0 (June 1994)
parts:     Yacc grammar, Lex grammar with simple driver in C
author:   S. Tucker Taft <stt@inmet.com>
location:       ftp public/ada9x/rm9x/grammar9x.y from host ajpo.sei.cmu.edu
                 ftp public/ada9x/rm9x/lexer9x.l from host ajpo.sei.cmu.edu
description:    YACC-based parser for Ada 9X, with simple Lexer and
                 simple driver written in C.
conformance:    Grammar conforms to Ada 9X version 5.0 (DIS 8652-9X, June 1994); 
                 Lexer does not support wide characters.
reference:      RM9X;5.0 
                 (ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc)
bugs:       Grammar known to be somewhat liberal (to avoid
                 ambiguity); Lexer does not support wide characters; 
                 Report bugs to stt@inmet.com or comp.lang.ada
ports:     SunOS 4.X, others presumed
portability:    No known system dependencies
status:   active, though presumed "done"
discussion:     comp.lang.ada
contact:        stt@inmet.com
updated:        1994/06

language:       Ada 9X
package:        AVLAda9X
version:        191 prototype (Fall 1994)
parts:     compiler, editor, online help, example programs, doc files
author:   Dr. Arthur Vargas Lopes     <IN%"34U3IQN@CMUVM.BITNET">
location:       ftp languages/ada/compiler/avlada9x/ver_191/avlada9x.zip
     N.America: from host wuarchive.wstlu.edu or ftp.cdrom.com/pub
       Europe:  ftp.cnam.fr/pub/Ada/PAL or ftp.cdrom.com/pub
                 Also available via NFS mounts on WUARCHIVE
                 Gopher servers wuarchive.wustl.edu and gopher.wustl.edu
                 email server ftpmail@decwrl.dec.com, CDROM
description:    Ada 9X student starter compiler/interpreter.
                 AVLAda9X is a prototype Ada 9X student compiler/interpreter. 
                 Its goal is to provide a small Ada 9x compiler/translator 
                 that is easy to install and has good performance for 
                 compilation and interpretation.
conformance:    Grammar conforms to Ada 9X version 5.0 
                 (DIS 8652-9X, June 1994); 
reference:      RM9X;5.0 
                 (ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc)
features:       The version being released allows separate compilation of 
                 package specs and bodies. The tasking model is working with 
                 simple tasking constructs including the use of protected 
                 units and tasks with discriminants as shown within the
                 enclosed example programs. 
bugs:       Some problems with generics.
                 Future work will focus on OOP and generics.
                 It is expected that the completed work will allow the use of 
                 most of the Ada 9X constructs.
restriction:    Approved for Public Release; Distribution Unlimited
                 This software can be freely distributed, provided:
                 1) there is no distribution/usage fee charged,
                 2) all the files which accommodate this software are 
                    included, unmodified, and with their modification dates 
                    preserved 
                 This software cannot be
                 1) distributed as a part of any other product without the 
                    written permission from the author, or
                 2) used in a commercial environment without the written 
                    permission from the author.
requires:       DOS
ports:     DOS 
portability:    DOS, No other known system dependencies
status:   active, still undergoing development
discussion:     comp.lang.ada
help:       IN%"34U3IQN@CMUVM.BITNET"
announcements:  comp.lang.ada, listserv@wunet.wustl.edu
contact:        IN%"34U3IQN@CMUVM.BITNET"
updated:        Fall 1994

language:       BLISS-11
package:        BLISS-11
version:        ?? 1
parts:     compiler, minimal run-time support
author:   Wulf, et. al.
location:       iecc.com:/pub/file/bliss.tar.Z
description:    This is the BLISS compiler as described in the reference
                 cited below.  It is written entirely in BLISS-10 and is the
                 version submitted to the DEC user society (DECUS) back in
                 1972.
conformance:    The defining implementation.
reference:      'The Design of an Optimizing Compiler' by Wulf, et. al.
portability:    *EXTREMELY* dependent upon the PDP-10 and its 36-bit
                 architecture.
contact:        harding@ug.eds.com
updated:        ??

language:       FOOGOL (a subset of Algol-60)
package:        cfoogol
version:        5.0
parts:     compiler(->C)
author:   Per Lindberg, John Cowan <cowan@locke.ccil.org>
location:       ftp locke.ccil.org:pub/retro/cfoogol.shar.gz
                 (in the Museum of Retrocomputing).  An earlier version
                 was posted in comp.sources.misc in May 1994.
description:    This is a toy compiler for a subset of Algol-60, based on
                 the VALGOL-1 compiler by G. A. Edgar published in the May
                 1985 Dr. Dobb's Journal.  It is intended solely to demonstrate
                 recursive-descent parsing and other elementary compiler-
                 construction techniques.
conformance:    subset of Algol-60
portability:    portable pre-ANSI C
ports:     VAX
updated:        1994/05/08

language:       Algol
lref:       Simula

language:       BCPL
package:        ?
version:        ?
parts:     ?
author:   ?
location:       ftp systems/amiga/programming/languages/BCPL/BCPL4Amiga.lzh
                 from wuarchive.wustl.edu.
description:    The original INTCODE interpreter for BCPL.
ports:     Amiga, Unix, MSDOS
contact:        ?
updated:        ?

language:       BCPL
package:        ?
version:        ?
parts:     ?
author:   ?
location:       ftp ftp.syd.dit.csiro.au in pub/ken/bcpl.tar.gz.
description:    A BCPL* (Basic Combined Programming Language) compiler
                 bootstrap kit with an INTCODE interpreter in C.
contact:        Ken Yap <ken@syd.dit.CSIRO.AU>
updated:        ?

language:       E
package:        Amiga E
version:        2.1b
parts:     compiler, assembler, linker, utilities
author:   Wouter van Oortmerssen <Wouter@mars.let.uva.nl>
location:       ftp amiga/dev/lang/AmigaE21b.lha from amiga.physik.unizh.ch
description:    An Amiga specific E compiler.  E is a powerful and flexible
                 procedural programming language and Amiga E a very fast
                 compiler for it, with features such as compilation speed of
                 20000 lines/minute on a 7 Mhz amiga, inline assembler and
                 linker integrated into compiler, large set of integrated
                 functions, module concept with 2.04 includes as modules,
                 flexible type-system, quoted expressions, immediate and typed
                 lists, low level polymorphism, exception handling and much,
                 much more.  Written in Assembly and E.
ports:     Amiga
portability:    not portable at all
status:   actively developed
discussion:     comp.sys.amiga.programmer (sometimes)
updated:        1993/03/01

language:       Eiffel
package:        ?
version:        ?
parts:     source checker
author:   Olaf Langmack <langmack@inf.fu-berlin.de> and Burghardt Groeber
location:       ftp pub/heron/ep.tar.Z from ftp.fu-berlin.de
description:    A compiler front-end for Eiffel-3 is available. It has been
                 generated automatically with the Karlsruhe toolbox for
                 compiler construction according to the most recent public
                 language definition. The parser derives an easy-to-use
                 abstract syntax tree, supports elementary error recovery
                 and provides a precise source code indication of errors. It
                 performs a strict syntax check and analyses 4000 lines of
                 source code per second on a Sun-SPARC workstation.
updated:        1992/12/14

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, 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:        1994/10/31

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 pub/Linux/devel/simula/cim-1.??.tar.gz 
                 from sunsite.unc.edu  
    Europe:     ftp pub/cim/cim-1.??.tar.gz from ftp.ifi.uio.no
                 ftp pub/lang/simula/compilers/cim/cim-1.??.tar.gz
                 from ftp.fenk.wau.nl
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:        1995/03/20.

language:       XPL (PL/I dialect)
package:        XPL optimizing Compiler
version:        1
parts:     compiler, documentation
author:   Robin Vowels <robin_vowels@rmit.edu.au>
location:       mail to author
description:    The compiler is a standard implementation of XPL and is based
                 on McKeeman, Horning, and Wortman's improved XCOM (which
                 employs hashed symbol table generation).  It includes the extra
                 built-in function COREHALFWORD.
                 The following areas have been optimized: procedures calls when
                 the argument and corresponding parameter are of the same type,
                 and when the argument is a constant; constant subscripts; use
                 of CORELHALFWORD and COREWORD; string constants of length one;
                 iterative DO statements by transferring code to the end of the
                 loop.
                 String constants of length one do not require a descriptor,
                 hence more descriptors are available for string variables.
                 Comparison operations are treated as commutative, and an
                 improved Commute algorithm is used.  Halfword instructions are
                 generated for BIT(16) variables.
                 These areas have been improved or re-written: calls on OUTPUT,
                 catenation, integer-to-string conversion, multiply, divide, and
                 MOD.  An emitter for SS-type instructions has been added.
                 The compiler achieves an 11% reduction in object code 
                 compiling itself, an 11% increase in compilation rate, a 55%
                 increase in compilation speed when the $E toggle is set.
                 Special treatment for catenating a string to an integer
                 substantially decreases consumption of the free string area,
                 and decreases string moves.  The latter improvement is most 
                 noticeable on small core machines.
                 Core requirements: less than the improved XCOM on which it is
                 based (approx. 98000 bytes).  Symbol table size is 468.
ports:     IBM System 370
portability:    The compiler is written in XPL.       The code generators are
                 machine-specific.
updated:        1993/08/07

language:       PL/M grammar and parser
package:        plm-parse
version:        1.1
parts:     bison (GNU yacc) grammar description, flex (GNU lex)
                 lexer description, and a scoped symbol table manager
author:   Kirk Hays <hays@ichips.intel.com>
                 Gary Funck <gary@intrepid.com>
location:       ftp pub/file/plm.shar.gz from iecc.com to obtain
                 a shar archive in compressed GNU zip format.  To access
                 the mail server, mail "send plm.shar"
                 to compilers-server@iecc.com.
description:    this is a skeleton parser for PL/M.  The grammar description
                 and lexer description files were written for bison and flex.
                 The grammar description closely follows the EBNF documented
                 in the _PL/M Programmer's Guide_, Intel doc. 452161-003,
                 Appendix C.  A symbol table manager is supplied,
                 though there is no semantic checking.
conformance:    the grammar describes PL/M 386 and where possible, will
                 accept various other dialects
reference:      _PL/M Programmer's Guide_, Intel doc. 452161-003
features:       has support for PL/M's "literally" macro definitions
bugs:       doesn't support $-directives (includes)
restriction:    freely available, use at you own risk
requires:       flex, bison, an ANSI compliant C compiler (gcc), and the
                 avl-subs balanced binary tree library routines
                 (comp.sources.unix Volume 27, Issue 34 ,'avl-subs')
ports:     SGI IRTIX 5.2, and a 486DX2 PC clone running Linux
help:       contact the authors
updated:        04/04/1994

object oriented languages
-------------------------------------------------------------------------------
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)
lref:       ABCL ???
lref:       ABCL/1
lref:       ALLOY
lref:       C++
lref:       CLU
lref:       Common Lisp
lref:       Dylan
lref:       MeldC
lref:       Objective-C
lref:       Oberon2
lref:       Perl
lref:       Proxy
lref:       Python
lref:       Sather
lref:       Simula
lref:       Simula 67
iref:       (Tcl) BOS
iref:       (Scheme) STk
iref:       (Scheme) SOS
iref:       (E) GNU E

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 pub/unix/languages/cool/cool-*.tar.Z from ftp.fu-berlin.de
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:        1994/10/25

language:       O'small
package:        O'small
version:        Initial release
parts:     compiler?, parser/scanner specification
author:   ? Andreas Hense <hense@sol.cs.uni-sb.de>
location:       FTP /pub/osmall/machine/* from cs.uni-sb.de (134.96.7.254)
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:        1993/06/25

language:       O'small
package:        ?
version:        ?
parts:     interpreter
author:   ?
location:       ?
description:    ?
requires:       Miranda
ports:     ?
portability:    ?
updated:        ?

language:       Self
package:        Self
version:        3.0
parts:     compiler, debugger, browser
author:   The Self Group at Sun Microsystems & Stanford University
location:       ftp from 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:        1992/08/13

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:       Smalltalk
package:        GNU Smalltalk
version:        1.1.1
parts:     ?
author:   Steven Byrne <sbb@eng.sun.com>
location:       ftp smalltalk-1.1.1.tar.Z from a GNU archive site
description:    ?
bugs:       gnu.smalltalk.bug
discussion:     ?
contact:        ?
updated:        1991/09/15

language:       Smalltalk
package:        msgGUI
version:        1.0
parts:     library
author:   Mark Bush <bush@ecs.ox.ac.uk>
location:       ftp pub/Packages/mst/mstGUI-1.0.tar.Z from ftp.comlab.ox.ac.uk
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:        1992/12/14

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 pub/goodies/misc/Mei.tar.Z from mushroom.cs.man.ac.uk
    N.America:  ftp pub/MANCHESTER/misc/Mei from st.cs.uiuc.edu
    Japan:      ftp pub/lang/smalltalk/mei/Mei0.50.tar.Z from srawgw.sra.co.jp
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:        1993/01/20

language:       Smalltalk
iref:       (Smalltalk) Tim Budd's C++ implementation of Kamin's interpreters

language:       Trellis
package:        TNT
version:        0.2 beta
parts:     compiler, library, run-time system
author:   ?
location:       ftp pub/tnt/tnt-0.1.tar.gz from tk.telematik.informatik.uni-karlsruhe.de
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:        1994/10/27

--
Send compilers articles to compilers@iecc.com,
meta-mail to compilers-request@iecc.com.

----------------------------------------------------------------------

Path: news1.ucsd.edu!ihnp4.ucsd.edu!swrinde!cs.utexas.edu!uwm.edu!news.cse.psu.edu!news.ecn.bgu.edu!vixen.cso.uiuc.edu!newsfeed.internetmci.com!in3.uu.net!ivan.iecc.com!ivan.iecc.com!not-for-mail
From: free-compilers@idiom.com (Steven Robenalt)
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Subject: Catalog of compilers, interpreters, and other language tools [p3of5]
Supersedes: <free3-Jul-96@comp.compilers>
Followup-To: comp.lang.misc
Date: 1 Aug 1996 07:00:09 -0400
Organization: Idiom Consulting / Berkeley, CA
Lines: 1907
Sender: johnl@iecc.com
Approved: compilers@iecc.com
Expires: 1 Sep 96 23:59:00 GMT
Message-ID: <free3-Aug-96@comp.compilers>
References: <free2-Aug-96@comp.compilers>
Reply-To: free-compilers@idiom.com (Steven Robenalt)
NNTP-Posting-Host: ivan.iecc.com
Summary: Monthly posting of free language tools that include source code
Keywords: tools, FTP, administrivia
Xref: news1.ucsd.edu comp.compilers:7652 comp.lang.misc:13945 comp.archives.admin:1259 news.answers:63341 comp.answers:15855

Archive-name: compilers/free/part3
Last-modified: $version_D
Version: $version_V

lisp family
-------------------------------------------------------------------------------
category:       lisp family
description:    [The programming languages for those who like parenthesis --ed]

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 pub/DEC/Thomas from gatekeeper.pa.dec.com
                 ftp pub/dylan/Thomas from cambridge.apple.com
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:        1994/04/18

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:        1994/07/13

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:        1995/05/06

language:       EuLisp
package:        Feel (Free and Eventually Eulisp)
version:        0.75
parts:     interpreter, documentation
author:   Pete Broadbery <pab@maths.bath.ac.uk>
location:       ftp pub/eulisp from ftp.bath.ac.uk
description:    + integrated object system
                 + a module system
                 + parallelism
                 + interfaces to PVM library, tcp/ip sockets, futures, 
                 Linda, and CSP.
ports:     most unix
portability:    high, but can use shared memory and threads if available
updated:        1992/09/14

language:       Common Lisp
package:        CMU Common Lisp
version:        17c
parts:     incremental compiler, profiler, runtime, documentation, 
                 editor, debugger
author:   ?
location:       ftp pub/* from lisp-sun1.slisp.cs.cmu.edu.
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:        1993/11/18

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 pcl/* from parcftp.xerox.com
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:        1992/09/02

language:       Common Lisp
package:        WCL
version:        2.14
parts:     ?, shared library runtime, source debugger
author:   Wade Hennessey <wade@leland.Stanford.EDU>
location:       ftp pub/wcl/* from sunrise.stanford.edu,
                     miscellany/wcl from gummo.stanford.edu
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:        1992/10/28

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 pub/kcl*.tar.Z from rascal.ics.utexas.edu ?
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:       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 pub/akcl-*.tar.Z from rascal.ics.utexas.edu
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:        1992/04/29

language:       Common Lisp
package:        CLX 
version:        5.01
parts:     library
author:   ?
location:       ftp contrib/CLX.R5.01.tar.Z from export.lcs.mit.edu
description:    Common Lisp binding for X
bugs:       bug-clx@expo.lcs.mit.edu
ports:     ?, CMU Common Lisp
contact:        ?
updated:        1992/08/26

language:       Common Lisp
package:        CLISP
version:        1994/07/12
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 /pub/lisp/clisp from ma2s2.mathematik.uni-karlsruhe.de
                     /pub/Linux/development/lisp/ from sunsite.unc.edu
                     /pub/linux/packages/lisp/ from tsx-11.mit.edu
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:        1994/07/12

language:       Common Lisp
package:        Cartier's Contribs
version:        1.2
parts:     libraries, documentation
author:   Guillaume Cartier <cartier@math.uqam.ca>
location:       ftp pub/mcl2/contrib/Cartiers* from cambridge.apple.com
description:    libraries for MCL
requires:       Macintosh Common Lisp
discussion:     comp.lang.lisp.mcl
updated:        1994/04/18

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:        1994/04/18

language:       Common Lisp
package:        Memoization ?
version:        ?
parts:     library
author:   Marty Hall <hall@aplcenmp.apl.jhu.edu>
location:       ftp pub/Memoization from archive.cs.umbc.edu
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:        1992/11/30

language:       Common Lisp
package:        GINA (Generic Interactive Application) 
version:        2.2
parts:     language binding, class library, interface builder
author:   ?
location:       ftp /gmd/gina from ftp.gmd.de 
    N.America:  ftp contrib/? from export.lcs.mit.edu
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:       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 pub/kiel/apply/clicc*
                    from ftp.informatik.uni-kiel.de (134.245.15.114)
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:        1994/06/25

language:       Common Lisp
package:        Hyperlisp
version:        2.1f
parts:     ?
author:   Joe Chung, MIT Media Laboratory
location:       ftp pub/mcl2/contrib/hyperlisp21f.sit.hqx 
                           from cambridge.apple.com
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:        1994/04/18

language:       Franz Lisp
package:        Liszt?
version:        ?
parts:     compiler(->C)
author:   port to C by J W Dalton <jeff@festival.ed.ac.uk>
location:       ask author
description:    A version of Liszt that emits C
updated:        ?

language:       Lisp
package:        RefLisp
version:        2.67
parts:     interpreter, documentation, examples, profiler
author:   Bill Birch <bbirch@hemel.bull.co.uk>
location:       ftp implementations/reflisp/* from the directory 
                 /afs/cs.cmu.edu/user/mkant/Public/Lisp on ftp.cs.cmu.edu
description:    The interpreter is a shallow-binding (i.e., everything has
                 dynamic scope), reference counting design making it suitable
                 for experimenting with real-time and graphic user interface
                 programming. Common Lisp compatibility macros are provided, and
                 most of the examples in "Lisp" by Winston & Horn have been run
                 on RefLisp.  RefLisp makes no distinction between symbol-values
                 and function-values, so a symbol can be either but not both.
                 There are Lisp modules for lexical scope and for running
                 indefinite extent Scheme programs.
ports:     MSDOS (CGA/EGA/VGA), Unix (AIX)
status:   "Last Update for a While," author is emigrating to Australia
updated:        1993/02/09

language:       Lisp
package:        xlisp
version:        2.1
parts:     interpreter
author:   David Micheal Betz <dbetz@apple.com>
location:       ftp pub/xlisp* from wasp.eng.ufl.edu
    US Mail:    contact Tom Almy <toma@sail.labs.tek.com>
    Windows:    ftp software/prog_lang/xlisp/xlisppc* from ftp.cs.orst.edu
    Version2.0: ftp pub/xlisp/* from cs.orst.edu
    Macintosh:  ftp pub/bskendig/? from netcom.com (source comming)
description:    XLISP is an experimental programming language
                 combining some of the features of Common Lisp with an
                 object-oriented extension capability.  It was
                 implemented to allow experimentation with
                 object-oriented programming on small computers.
conformance:    subset of Common Lisp with additions of Class and Object
restriction:    ? no commercial use ?
ports:     unix, amiga, atari, mac, MSDOS
portability:    very high: just needs a C compiler
discussion:     comp.lang.lisp.x
updated:        1992/05/26 (unix), 1987/12/16 (other platforms)

language:       Lisp
package:        "LISP, Objects, and Symbolic Programming"
version:        ? 
parts:     book with compiler included
author:   Robert R. Kessler and Amy R. Petajan,
                 published by Scott, Foresman and Company, Glenview, IL
location:       bookstore...
description:    ? (A short synopsis might help if anyone has one)
updated:        1988

language:       Lisp
package:        franz lisp opus
version:        38.92 and 38.93b
parts:     ?
author:   ?
location:       ftp://ftp.cs.cmu.edu/user/ai/lang/others/franzlsp/
                 ftp://macbeth.cogsci.ed.ac.uk:/pub/franz-for-NetBSD/
                 http://www.aiai.ed.ac.uk/~jeff/franz-for-386.html
description:    Franz Lisp is a dialect of Lisp that predates Common Lisp. 
                 It is very similar to MacLisp. It lacks full lexical scoping.
discussion:     franz-friends-request@berkeley.edu
ports:     68K Suns, VAX 750s, and ICL Perqs running PNX. NetBSD
updated:        ?

language:       Lisp (WOOL - Window Object Oriented Language)
package:        GWM (Generic Window Manager)
version:        1.8c
parts:     interpreter, examples
author:   Colas Nahaboo
location:       ftp contrib/window_managers/gwm/gwm-1.8c.tar.gz from ftp.x.org
    France:     ftp pub/gwm/gwm-1.8c.tar.gz from koala.inria.fr
description:    Gwm is an extensible window manager for X11.  It is
                 based on a WOOL kernel, an interpreted dialect of lisp 
                 with specific window management primitives.
discussion:     <gwm-talk@sophia.inria.fr>
help:       <gwm@sophia.inria.fr>
contact:        <gwm@sophia.inria.fr>
updated:        1995/12/08

language:       elisp (Emacs Lisp)
package:        ILISP
version:        5.0
parts:     Emacs interface
author:   ?? Ivan Vazquez <ivan@haldane.bu.edu>
location:       ftp to haldane.bu.edu (128.197.54.25) in pub/ilisp/ilisp.tar.Z
description:    ILISP provides a somewhat lisp-machine like interface to lisp
                 listeners from Emacs.
bugs:       ilisp-bug@darwin.bu.edu (or ilisp-bugs@darwin.bu.edu).
discussion:     ilisp@darwin.bu.edu
support:        Mailing list requests/deletions to ilisp-request@darwin.bu.edu
updated:        1993/06/28

language:       elisp (Emacs Lisp)
package:        GNU Emacs
version:        19.30
parts:     editor, interpreter, documentation, source debugger
author:   Richard Stallman and others
location:       pub/gnu/emacs-19.30.tar.gz from any GNU site.
description:    An editor that is almost an operating system.  Quite
                 programmable.  And it even fits in your tackle box.
bugs:       gnu.emacs.bug, e-mail to bug-gnu-emacs@prep.ai.mit.edu
ports:     Unix, VMS, ?
discussion:     alt.religion.emacs, gnu.emacs.sources
help:       gnu.emacs.help
announcements:  gnu.emacs.announce
updated:        1995/11/29

language:       elisp (Emacs Lisp)
package:        Lucid Emacs (lemacs)
version:        19.10
parts:     ? interpreter
author:   kyle@crystal.wonderworks.com
location:       /pub/lemacs/* from LUCID.COM (192.43.175.3).
description:    A version of Emacs based on Emacs 19.
                 Mirrored at other sites including:
                    /pub/epoch-files/lemacs/ from cs.uiuc.edu
                    /pub/lemacs-19.10/ from self.stanford.edu
bugs:       alt.lucid-emacs.bug, bug-lucid-emacs@lucid.com
discussion:     alt.lucid-emacs.help, help-lucid-emacs@lucid.com
updated:        1994/06/01

language:       ? Lisp, X
package:        winterp
version:        2.03
parts:     interpreter, documentation, examples
author:   Niels P. Mayer <mayer@eit.com> or <mayer@netcom.com>
location:       ftp.x.org in contrib/devel_tools/winterp-2.*.tar.gz
description:    An object-oriented rapid prototyping, development and delivery
                 environment for building extensible applications with the
                 OSF/Motif UI Toolkit and Xtango-based graphics/animation.
ports:     UNIX
discussion:     comp.lang.lisp.x.
announcements:  winterp@netcom.com
updated:        1994/06/24

language:       Lisp
iref:       (Lisp) Tim Budd's C++ implementation of Kamin's interpreters

language:       LISP, awk
package:        A Lisp interpreter in awk
version:        ?
parts:     Interpreter, library, reference, example (ELIZA,
                 tail-recursive Scheme interpreter (with library and examples))
author:   Darius Bacon <djello@well.sf.ca.us>
location:       alt.sources (May 31, 1994)
description:    A relatively simple interpreter (no garbage collection or tail
                 recursion) implemented in AWK.    Variables have dynamic scope,
                 but with a single namespace.  Scheme names used for primitives
                 and special forms.
updated:        1994/05/31

language:       lisp
package:        walk
version:        ?
parts:     interpreter, nroff document
author:   Roger Rohrbach
location:       alt.sources (May 31, 1994)
description:    A Lisp interpreter written in old awk.
reference:      McCarthy, J. Recursive Functions of Symbolic Expressions and
                  their Computation by Machine, Part I.    Comm. ACM, 3, 4,
                  pp. 185-195 April 1960
                 Aho, A., Weinberger, P., & Kernighan, B.W.  The Awk
                  Programming Language.    Addison-Wesley, Reading, MA 1988
updated:        1989/01/03

language:       Oaklisp
package:        oaklisp
version:        1.2
parts:     interface, bytecode compiler, runtime system, documentation
author:   Barak Pearlmutter, Kevin Lang
location:       ftp /afs/cs.cmu.edu/user/bap/oak/ftpable/* from f.gp.cs.cmu.edu
description:    Oaklisp is a Scheme where everything is an object.  It 
                 provides multiple inheritence, a strong error system,
                 setters and locators for operations, and a facility for
                 dynamic binding.
status:   actively developed?
contact:        Pearlmutter-Barak@CS.Yale.Edu ?
updated:        1992/05 ?

language:       Logo
package:        logo
version:        4
parts:     interpreter
author:   ?
location:       comp.sources.unix archive volume 10
description:    ?
updated:        ?

language:       Logo
package:        Berkeley Logo
version:        3.3
parts:     interpreter
author:   Brian Harvey <bh@anarres.CS.Berkeley.EDU>
location:       ftp pub/ucblogo/* from anarres.cs.berkeley.edu
                 http://http.cs.berkeley.edu/~bh/
description:    + Logo programs are compatible among Unix, PC, and Mac.
                 + "richer" than MswLogo?
                 - pretty slow.
                 - doesn't do anything fancy about graphics.  (One turtle.)
ports:     unix, pc, mac
updated:        1993/08/06

language:       Logo
package:        MswLogo
version:        4.2d
parts:     interpreter
author:   George Mills <mills@athena.lkg.dec.com>
location:       ftp pub/comp.lang.logo/programs/mswlogo from cher.media.mit.edu
                 Source may require emailing George Mills.
description:    A windows front-end for Berkeley Logo
bugs:       George Mills <mills@athena.lkg.dec.com>
ports:     MS Windows 3.x
status:   activly developed
updated:        1995/12/20

language:       Scheme
package:        Schematik
version:        1.1.5.2
parts:     programming environment
author:   Chris Kane, Max Hailperin <max@nic.gac.edu>
location:       ftp /pub/next/scheme/* from ftp.gac.edu
    Europe:     ftp /pub/next/ProgLang from ftp.informatik.uni-muenchen.de
description:    Schematik is a NeXT front-end to MIT Scheme for
                 the NeXT.  It provides syntax-knowledgeable text
                 editing, graphics windows, and user-interface to
                 an underlying MIT Scheme process. It comes packaged
                 with MIT Scheme 7.1.3 ready to install on the NeXT.
ports:     NeXT, MIT Scheme 7.1.3
portability:    requires NeXTSTEP
contact:        schematik@gac.edu
updated:        1993/03/11

language:       Scheme
package:        T
version:        3.1
parts:     compiler (native machine code)
author:   Norman Adams, David Kranz, Richard Kelsey, James Philbin,
                 and Jonathan Rees.
location:       ftp pub/systems/t3.1 from ftp.ai.mit.edu
description:    a Scheme-like language developed at Yale.  T is
                 written in itself and compiles to efficient native
                 code.  Includes a Scheme environment.
                 (A multiprocessing version of T is available from
                 masala.lcs.mit.edu:/pub/mult)
bugs:       kranz@lcs.mit.edu
ports:     Decstation, Sparc, Iris. Old m68k version.
contact:        David Andrew Kranz <kranz@lcs.mit.edu>
updated:        1991/11/26

language:       Scheme
package:        scm
version:        4e1
parts:     interpreter, conformance test, documentation
author:   Aubrey Jaffer <jaffer@zurich.ai.mit.edu>
location:       altdorf.ai.mit.edu in archive/scm/scm*
                 prep.ai.mit.edu in pub/gnu/jacal/scm*.tar.gz
                 ftp.cs.indiana.edu in /pub/scheme-repository/imp/scm*.tar.gz
    Canada:     ftp pub/oz/scheme/new/* from nexus.yorku.ca
    Europe:     ftp pub/bosullvn/jacal/* from ftp.maths.tcd.ie
description:    Fast portable R4RS Scheme interpreter.
conformance:    Revised^4 Report on the Algorithmic Language Scheme,
                 IEEE P1178 specification.
restriction:    GNU General Public License
requires:       SLIB (pointers to it in documentation)
ports:     Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS,
                 Unix. ASCII and EBCDIC both supported.
status:   actively developed
contributions:  send $$$ to Aubrey Jaffer, 84 Pleasant St., Wakefield, MA 01880
updated:        1994/04/29

language:       Scheme
package:        Scheme Library (slib)
version:        2a1
parts:     library, documentation
author:   ?? Aubrey Jaffer <jaffer@ai.mit.edu>
location:       altdorf.ai.mit.edu in ftp archive/scm/slib*.tar.Z
                 prep.ai.mit.edu in pub/gnu/jacal/slib*.tar.gz
                 ftp.maths.tcd.ie in pub/bosullvn/jacal/slib*.tar.gz
                 ftp.cs.indiana.edu in /pub/scheme-repository/imp/slib*.tar.gz
description:    SLIB is a portable scheme library meant to provide 
                 compatibiliy and utility functions for all standard scheme 
                 implementations.
ports:     Scm4b, Chez, ELK 1.5, GAMBIT, MITScheme, Scheme->C, 
                 Scheme48, T3.1.
status:   actively developed
contact:        Aubrey Jaffer <jaffer@zurich.ai.mit.edu>
updated:        1993/10/09

language:       Scheme
package:        Hobbit
version:        release 4b
parts:     compiler(->C), documentation
author:   Tanel Tammet <tammet@cs.chalmers.se>
location:       ftp://ftp.cs.chalmers.se/pub/users/tammet/hobbit4b.tar.gz
                 It is more convenient to ftp the stuff, read the paper and 
                 more by using the WWW URL -
                 http://www.cs.chalmers.se/pub/users/tammet/home.html
description:    The main aim of hobbit is to produce maximally fast C programs
                 which would retain most of the original Scheme program
                 structure, making the output C program readable and modifiable.
                 Hobbit is written in Scheme and is able to self-compile.
                 Hobbit release 1 works together with the scm release scm4b3. 
                 Future releases of scm and hobbit will be coordinated.
reference:      ftp://ftp.cs.chalmers.se/pub/users/tammet/hobbit.ps.gz
requires:       scm 4b3
updated:        1995/04/25

language:       Scheme
package:        siod (Scheme In One Day, or Scheme In One Defun)
version:        3.0
parts:     interpreter,library,documentation,sql interface
author:   George Carrette <gjc@world.std.com>
location:       ftp.std.com in pub/gjc
                 ftp.cs.indiana.edu in scheme
description:    Small scheme implementation in C arranged as a set of
                 subroutines that can be called from any main program
                 for the purpose of introducing an interpreted extension
                 language.  Compiles to 20K bytes of executable (VAX/VMS).
                 Lisp calls C and C calls Lisp transparently.
features:       symbols,strings,arrays,hash tables, file i/o binary/text/seek,
                 data save/restore in binary and text, interface to commercial
                 databases such Oracle, Digital RDB.  Small executable (42k
                 on VAX).
restriction:    none besides non-removal of copyright notice.
ports:     VAX/VMS, VAX Unix, Sun3, Sun4, Amiga, Macintosh, MIPS, Cray,
                 ALPHA/VMS, Windows NT/WIN32, OS/2.
portability:    Liked by ANSI C compilers and C++ compilers. e.g. gcc -Wall
status:   supported as benchmark/testbed at mitech.com
help:       the author will help anyone building something.
contributions:  antique/classic computer hardware, perhaps.
announcements:  comp.lang.scheme
updated:        1994/04/29

language:       Scheme
package:        MIT Scheme (aka C-Scheme)
version:        7.2
parts:     interpreter, large runtime library, emacs macros, 
                 native-code compiler, emacs-like editor, source-level debugger
author:   MIT Scheme Team (primarily Chris Hanson, Jim Miller, and
                 Bill Rozas, but also many others)
location:       ftp archive/scheme-7.2 from altdorf.ai.mit.edu 
                 DOS floppies ($95) and Unix tar tapes ($200) from 
                 Scheme Team / c/o Prof. Hal Abelson / MIT AI Laboratory /
                 545 Technology Sq. / Cambridge, MA 02139
description:    Scheme implementation with rich set of utilities.
conformance:    full compatibility with Revised^4 Report on Scheme, 
                 one known incompatibility with IEEE Scheme standard
bugs:       bug-cscheme@zurich.ai.mit.edu
ports:     68k (hp9000, sun3, NeXT), MIPS (Decstation, Sony, SGI), 
                 HP-PA (600, 700, 800), Vax (Ultrix, BSD), Alpha (OSF), 
                 i386 (DOS/Windows, various Unix)
status:   activly developed
discussion:     info-cscheme@zurich.ai.mit.edu 
                 (cross-posted to comp.lang.scheme.c)
updated:        1992/08/24

language:       Scheme
package:        Scheme->C
version:        15mar93
parts:     compiler(->C)
author:   Digital Western Research Laboratory; Joel Bartlett
location:       ftp pub/DEC/Scheme-to-C/* from gatekeeper.dec.com
description:    Translates Revised**4 Scheme to C that is then compiled
                 by the native C compiler for the target machine.  This
                 design results in a portable system that allows either
                 stand-alone Scheme programs or programs written in both
                 compiled and interpreted Scheme and other languages.
conformance:    superset of Revised**4
                 + "expansion passing style" macros
                 + foreign function call capability
                 + interfaces to Xlib (ezd & Scix)
                 + records
reference:      send Subject "help" to WRL-Techreports@decwrl.dec.com
                 for technical report.  Other documentation in
                 Scheme-to-C directory on gatekeeper.
ports:     VAX/ULTRIX, DECstation ULTRIX, Alpha AXP OSF/1,
                 Microsoft Windows 3.1, NT, Apple Macintosh 7.1,
                 HP 9000/300, HP 9000/700, Sony News, SGI Iris and
                 Harris Nighthawk and other Unix-like m88k systems.
                 The 01nov91 version is also available on Amiga, SunOS,
                 NeXT, and Apollo systems.
status:   actively developed, contributed ports welcomed
updated:        1993/03/15

language:       Scheme, Tk
package:        STk
version:        1.00
parts:     interpreter
author:   Gallesio Erick <eg@unice.fr>
location:       ftp pub/STk-1.00.tar.gz from kaolin.unice.fr
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:        1993/09/06

language:       Scheme
package:        PC-Scheme
version:        3.03
parts:     compiler, debugger, profiler, editor, libraries
author:   Texas Instruments
location:       ftp archive/pc-scheme/* from altdorf.ai.mit.edu
description:    Written by Texas Instruments. Runs on MS-DOS 286/386 IBM PCs
                 and compatibles.  Includes an optimizing compiler, an
                 emacs-like editor, inspector, debugger, performance testing,
                 foreign function interface, window system and an
                 object-oriented subsystem.  Also supports the dialect used in
                 Abelson and Sussman's SICP.  
conformance:    Revised^3 Report, also supports dialect used in SICP.
restriction:    official version is $95, contact rww@ibuki.com
ports:     MSDOS
updated:        1992/02/23

language:       Scheme
package:        PCS/Geneva
version:        4.02PL1
parts:     compiler, debugger, profiler, editor, libraries
author:   "a team at the u. of Geneva"
location:       send email to schemege@uni2a.unige.ch
description:    PCS/Geneva is a cleaned-up version of Texas Instrument's PC
                 Scheme developed at the University of Geneva. The main
                 extensions to PC Scheme are 486 support, BGI graphics, LIM-EMS
                 pagination support, line editing, and assembly-level
                 interfacing.
contact:        schemege@uni2a.unige.ch
updated:        1994/01/11

language:       Scheme
package:        Gambit Scheme System
version:        2.0
parts:     interpreter, compiler, linker, libraries
author:   Marc Feeley <feeley@iro.umontreal.ca>
location:       ftp pub/parallele/gambit/* from ftp.iro.umontreal.ca
description:    Gambit is an optimizing Scheme compiler/system.       The
                 Macintosh port can run with Toolbox and has a built-in
                 editor.
conformance:    IEEE Scheme standard and `future' construct.
ports:     68k: unix, sun3, hp300, bbn gp100, NeXT, Macintosh
updated:        ?

language:       Scheme
package:        scsh
version:        0.4
parts:     parser, libraries
author:   Olin Shivers, Brian Carlstrom <bdc@blackjack.ai.mit.edu> 
                 and David Albertz
location:       ftp://clark.lcs.mit.edu/pub/su/scsh/scsh.tar.z
                 ftp://swiss-ftp.ai.mit.edu/pub/su/scsh/scsh.tar.z
description:    Scsh is a Unix shell that is embedded within R4RS Scheme.  It
                 provides high-level shell notation and full access to the Unix
                 system calls. The current implementation is built on top of
                 Scheme 48, version 0.36.
                 Real interactive use needs a parser for an sh-like syntax, job
                 control, and the gnu readline library. If you're interested in
                 hacking on these things, drop us a line at
                 scheme-underground@ai.mit.edu.    We've got designs for most of
                 this stuff; we're just short on time and bodies.
portability:    easy to port
ports:     SunOS, NetBSD, Linux, HP-UX, NeXTSTEP (on intel)
discussion:     <scsh@martigny.ai.mit.edu>
bugs:       <scsh-bugs@martigny.ai.mit.edu>
contact:        <scsh-request@martigny.ai.mit.edu>
updated:        1995/11/01

language:       Scheme
package:        Elk (Extension Language Kit)
version:        3.0
parts:     interpreter, dynamically-loadable libraries, run-time,
                 documentation, examples.
author:   Oliver Laumann <net@cs.tu-berlin.de> 
location:       http://www.informatik.uni-bremen.de/~net/elk
                 ftp://ftp.x.org/contrib/devel_tools/elk-3.0.tar.gz 
    Europe:     ftp://ftp.uni-bremen.de/pub/programming/languages/scheme/elk/elk-3.0.tar.gz
description:    Elk is a Scheme implementation designed as an embeddable,
                 reusable extension language subsystem for applications
                 written in C or C++.  Elk is also useful as a stand-alone
                 Scheme implementation, in particular as a platform for rapid
                 prototyping of X11-based Scheme programs.
conformance:    R^4RS
reference:      Oliver Laumann and Carsten Bormann, Elk: The Extension
                 Language Kit, USENIX Computing Systems, vol 7, no 4, 1994.
features:       + Full incremental, dynamic loading on many platforms
                 + Freezing of interpreter/application into executable file
                 + C/C++ programmer's interface for language interoperability
                 + Scheme bindings for X11 Xlib, Xt, Athena and Motif widgets
                 + UNIX interface (not restricted to POSIX)
                 + debugger, bitstrings, records, regular expressions
                 + stop-and-copy and generational incremental garbage collector
                 + 230+ pages of documentation (troff and PostScript)
ports:     numerous UNIX platforms (see MACHINES in the distribution).
status:   Elk was first published in 1989.
announcements:  comp.lang.scheme
updated:        1995/08

language:       Scheme
package:        libscheme
version:        0.5
parts:     embedded interpreter
author:   Brent Benson <Brent.Benson@mail.csd.harris.com>
location:       ftp.cs.indiana.edu in imp/libscheme-0.5.tar.gz
description:    An embedded interpreter for Scheme written in C, can be used
                 as a command interpreter or extension language, and is easily
                 extended in C with new primitive types, primitve functions and
                 syntax.    Now supports linkage with C++.
conformance:    Revised^4 Report on the Algorithmic Language Scheme.
updated:        1994/10/21

language:       Scheme
package:        ezd (easy drawing for programs on X displays)
version:        15mar93
parts:     interpreter/server
author:   ?
location:       ftp pub/DEC/ezd/* from gatekeeper.dec.com
description:    Ezd is a graphics server that sits between an application
                 program and the X server and allows both existing and new
                 programs easy access to structured graphics.  Ezd users have
                 been able to have their programs produce interactive drawings
                 within hours of reading the man page.  Structured graphics:
                 application defined graphical objects are ordered into drawings
                 by the application.  Loose coupling to the application
                 program:  unlike most X tools, ezd does not require any event
                 handling by the application.  The ezd server mantains window
                 contents.  When an event occurs on such an object, an
                 application supplied Scheme expression is evaluated.
contact:        Joel Bartlett <bartlett@decwrl.dec.com> ?
updated:        1993/03/10

language:       Scheme
package:        XScheme
version:        0.28
parts:     ?
author:   David Betz <dbetz@apple.com>
location:       ftp pub/scheme/* from nexus.yorku.ca
description:    ?
discussion:     comp.lang.lisp.x
contact:        ?
updated:        1992/02/02

language:       Scheme
package:        Fools' Lisp
version:        1.3.2
parts:     ?
author:   Jonathan Lee <jonathan@scam.berkeley.edu>
location:       ftp src/local/fools.tar.Z from scam.berkeley.edu
description:    a small Scheme interpreter that is R4RS conformant.
ports:     Sun-3, Sun-4, Decstation, Vax (ultrix), Sequent, Apollo
updated:        1991/10/31

language:       Scheme
package:        Scheme88
version:        ?
parts:     ?
author:   ?
location:       ftp pub/scheme/* from nexus.yorku.ca
description:    ?
contact:        ?
updated:        ?

language:       Scheme
package:        UMB Scheme
version:        ?
parts:     ?, editor, debugger
author:   William Campbell <bill@cs.umb.edu>
location:       ftp pub/scheme/* from nexus.yorku.ca
description:    ?
conformance:    R4RS Scheme
ports:     ?
updated:        ?

language:       Scheme
package:        PseudoScheme
version:        2.8
parts:     translator(Common Lisp)
author:   Jonathan Rees <jar@cs.cornell.edu>
location:       ?
description:    ?
conformance:    R3RS except call/cc.
requires:       Common Lisp
ports:     Lucid, Symbolics CL, VAX Lisp, Explorer CL
announcements:  info-clscheme-request@mc.lcs.mit.edu
updated:        ?

language:       Scheme
package:        SOS (Scheme Object System)
version:        ?
parts:     ?
author:   Chris Hanson ?
location:       ftp archive/cph/sos.tar.gz from altdorf.ai.mit.edu
description:    ?
updated:        ?

language:       Scheme
package:        Similix
version:        5.0
parts:     partial evaulator, debugger
author:   Anders Bondorf <anders@diku.dk>
location:       ftp pub/diku/dists/Similix.tar.Z from ftp.diku.dk
description:    Similix is an autoprojector (self-applicable partial 
                 evaluator) for a higher order subset of the strict functional 
                 language Scheme.  Similix handles programs with user defined 
                 primitive abstract data type operators which may process 
                 global variables (such as input/output operators).
conformance:    extension of large subset of R4RS Scheme.
requires:       Scheme
ports:     Scm, Chez Scheme
portability:    high
contact:        Anders Bondorf <anders@diku.dk>
updated:        1993/05/18

language:       Scheme
package:        syntax-case
version:        2.1
parts:     macro system, documentation
author:   R. Kent Dybvig <dyb@cs.indiana.edu>
location:       cs.indiana.edu in ftp pub/scheme/syntax-case.tar.Z
    Macintosh:  maya.dei.unipd.it in /pub/mac/gambit/
description:    We have designed and implemented a macro system that is
                 vastly superior to the low-level system described in
                 the Revised^4 Report; in fact, it essentially
                 eliminates the low level altogether.  We also believe
                 it to be superior to the other proposed low-level
                 systems as well, but each of you can judge that for
                 yourself.  We have accomplished this by "lowering the
                 level" of the high-level system slightly, making
                 pattern variables ordinary identifiers with essentially
                 the same status as lexical variable names and macro
                 keywords, and by making "syntax" recognize and handle
                 references to pattern variables.
reference:      Robert Hieb, R. Kent Dybvig, and Carl Bruggeman "Syntactic
                  Abstraction in Scheme", IUCS TR #355, 6/92 (revised 7/3/92)
                 R. Kent Dybvig, "Writing Hygienic Macros in Scheme with
                  Syntax-Case", IUCS TR #356, 6/92 (revised 7/3/92).
ports:     Chez Scheme, Mac port runs under MacGambit 2.0
updated:        1992/07/06

language:       Scheme
package:        x-scm
version:        ?
parts:     ?
author:   Larry Campbell <campbell@redsox.bsw.com>
location:       alt.sources archive
description:    x-scm is a bolt-on accessory for the "scm" Scheme interpreter 
                 that provides a handy environment for building Motif and 
                 OpenLook applications.    (There is some support as well for raw 
                 Xlib applications, but not enough yet to be useful.)
requires:       scm, X
ports:     ?
updated:        1992/08/10

language:       Scheme, Prolog
package:        "Paradigms of AI Programming"
version:        ?
parts:     book with interpreters and compilers in Common Lisp
author:   Peter Norvig
location:       bookstore, and ftp pub/norvig/* from unix.sri.com
description:    ?
updated:        ?

language:       Scheme
package:        Psd (Portable Scheme Debugger)
version:        1.1
parts:     debugger
author:   Kellom{ki Pertti <pk@cs.tut.fi>
location:       ftp pub/src/languages/schemes/psd.tar.Z from cs.tut.fi
description:    source code debugging from emacs
restriction:    GNU GPL
requires:       R4RS compliant Scheme, GNU Emacs.
ports:     scm, Elk, Scheme->C
updated:        1992/10/08

language:       Scheme
package:        Tiny Clos
version:        first release
parts:     ?
author:   ?
location:       ftp pub/mops/* from parcftp.xerox.com
description:    A core part of CLOS (Common Lisp Object System) ported to
                 Scheme and rebuilt using a MOP (Metaobject Protocol).
                 This should be interesting to those who want to use MOPs
                 without using a full Common Lisp or Dylan.
ports:     MIT Scheme 11.74
discussion:     mailing list: mops, administered by gregor@parc.xerox.com
contact:        Gregor Kiczales <gregor@parc.xerox.com>
updated:        1992/12/14

language:       Scheme
package:        VSCM 
version:        V0r3
parts:     runtime, bytecode compiler, bytecode interpreter
author:   Matthias Blume <blume@cs.princeton.edu>
location:       ftp /pub/scheme-repository/imp/vscm*.tar.gz
                 ftp.cs.indiana.edu
    Germany:    ftp pub/scheme/yorku/imp/vscm*
                 from faui80.informatik.uni-erlangen.de
    UK:   ftp pub/uunet/languages/lisp/scheme/repository/imp/vscm*
                 from unix.hensa.ac.uk
description:    VSCM is a highly portable implementation of Scheme, written in
                 ANSI C and Scheme.  Portability is achieved by exlusive use of
                 legal ANSI C features -- as opposed to a plethora of #ifdef's
                 to adjust to various system peculiarities.  (Of course, in real
                 life ANSI C doesn't guarantee portability per se, because there
                 are too many systems with broken compilers or broken
                 libraries.)
conformance:    R4RS, IEEE P1178
features:       exception and interrupt handling, executable portable memory 
                 images, coroutines, continuations with multiple arguments
ports:     Unix, Macintosh
portability:    very high
status:   actively developed
discussion:     comp.lang.scheme
updated:        1993/11/09

language:       Scheme
package:        PSI
version:        pre-release
parts:     interpreter, virtual machine
author:   Ozan Yigit <oz@ursa.sis.yorku.ca>, David Keldsen, Pontus Hedman
location:       from author
description:    I am looking for a few interested language hackers to play with
                 and comment on a scheme interpreter. I would prefer those who
                 have been hacking portable [non-scheme] interpreters for many
                 years.    The interpreter is PSI, a portable scheme interpreter
                 that includes a simple dag compiler and a virtual machine.  It
                 can be used as an integrated extension interpreter in other
                 systems, allows for easy addition of new primitives, and it
                 embodies some other interesting ideas. There are some
                 unique[2] code debug/trace facilities, as well, acceptable
                 performance resulting from a fairly straight-forward
                 implementation.    Continuations are fully and portably
                 supported, and perform well.  PSI is based on the simple
                 compilers/vm in Kent Dbyvig's thesis.
conformance:    R^4RS compatible with a number of useful extensions.
updated:        1993/02/19

language:       Scheme
package:        Bigloo
version:        1.4
parts:     interpreter, compiler(->ANSI C), runtime
author:   Manuel Serrano <Manuel.Serrano@inria.fr>
location:       ftp INRIA/Projects/icsla/Implementations/bigl* from ftp.inria.fr
description:    The main goal of Bigloo is to deliver small and fast stand 
                 alone applications.
conformance:    IEEE Scheme standard with some extensions for regex handling
features:       Optimization supported.
ports:     sun, sony news, sgi, linux, hp-ux
portability:    very high for unix systems
updated:        1993/09/08

language:       Scheme
package:        Scheme84
version:        ?
parts:     ?
author:   ?
location:       Send a tape w/return postage to: Scheme84 Distribution /
                 Nancy Garrett / c/o Dan Friedman / Department of Computer
                 Science / Indiana University / Bloomington, Indiana.  Call
                 1-812-335-9770.
description:    ?
requires:       VAX, Franz Lisp, VMS or BSD
contact:        nlg@indiana.edu
updated:        ?

language:       C++/Scheme
package:        Header2Scheme
version:        1.1
parts:     Includes a modified Scheme (libscheme?) which is used
                 to manipulate C++ objects described by ANSI
                 C++-Compliant header files
author:   Kenneth B Russell: kbrussel@media.mit.edu 
location:       http://www-white.media.mit.edu/~kbrussel/Header2Scheme/
description:    Header2Scheme is an automatic C++ to Scheme (SCM) foreign
                 function interface generator. It is a tool for
                 creating a simple, consistent Scheme interface to a
                 large number of C++ classes.
                 Header2Scheme works by traversing a directory tree
                 containing header files for a C++ class library and
                 creates code which implements a backend for a Scheme
                 interface to the public interfaces of the described
                 classes. It has been successfully used to generate
                 Ivy, a Scheme interface to the Open Inventor 3D
                 graphics toolkit. 
updated:        1995/11/15

language:       Scheme
iref:       (Scheme) Tim Budd's C++ implementation of Kamin's interpreters

language:       Scheme
iref:       (Proxy) Proxy

document formatting languages
-------------------------------------------------------------------------------
category:       document formatting languages
description:    These are formatting languages.       Very application-specific.
                 [Could someone make me an entry for TeX?  --ed]
iref:       (C) c2man

language:       CLiP
package:        CLiP
version:        2.1
parts:     documentation generator
author:   Eric W. van Ammers <AMMERS@RCL.WAU.NL>
location:       ftp clip/* from sun01.info.wau.nl
description:    CLiP does not use explicite commands to perform the extraction
                 process.  It recognizes pseudostatemens written as comment of
                 the programming language in question. CLiP distinguishes
                 pseudostatments from ordinary comments because the former
                 comply with a a particular style. This specific style can be
                 adjusted to suit virtually any programming language.  The CLiP
                 approach to LP makes the system extremely versatile. It is
                 independent of programming language and text processing
                 environment.  We designed CLiP to be compatible with hypertext
                 systems as well but we have not yet experimented with this form
                 of documentation.
                 CLiP works with almost any target and almost any source
                 language
ports:     MS-DOS, VAX/VMS, Unix
updated:        1993/11/18

language:       HP-GL, Postscript
package:        hp2ps
version:        1.9c
parts:     interpreter
author:   Alun Jones <alun@huey.wst.com>
location:       ftp pub/hp2ps/hp2ps19c.zip from ftp.wst.com
description:    hp2ps is an HP-GL interpreter that is written in Postscript.
                 It runs on the printer itself.    
restriction:    If there is monetary benifit from using hp2ps, it is requested
                 that money be set to Alun Jones.  Further, hp2ps may not be
                 distributed as part of a commercial offering without prior
                 agreement.
updated:        ?

language:       Lout
package:        Lout
version:        3.06
parts:     translator(Lout->Postscript), documentation
author:   Jeffrey H. Kingston <jeff@cs.su.oz.au>
location:       ftp://ftp.cs.su.oz.au/jeff/lout/
                 ftp://ftp.sunet.se/pub/text-processing/lout/lout/
description:    Lout is a batch text formatting system.
                 Lout offers an unprecedented range of advanced features,
                 including equation formatting, tables, diagrams, rotation and
                 scaling, sorted indexes, bibliographic databases, running
                 headers and odd-even pages, automatic cross referencing, and
                 much more, all ready to go.  Furthermore, Lout is easily
                 extended with definitions which are very much easier to write
                 than troff of TeX macros because Lout is a high-level language,
                 the outcome of an eight-year research project that went back to
                 the beginning.
ports:     unix
updated:        1993/07/30

language:       Postscript
package:        Ghostscript
version:        2.6.1
parts:     interpreter, ?
author:   L. Peter Deutsch <ghost@aladdin.com>
location:       ftp pub/GNU/ghostscript* from a GNU archive site
                 ftp from ftp.cs.wisc.edu:/pub/X/ghostscript*2.6.1*
description:    A postscript interpreter with previewers for serval
                 systems and many fonts.
updated:        1993/05/29

language:       Tps (Tiny/Transportable Postscript)
package:        Tps
version:        2.1
parts:     interpreter, documentation.
author:   Dennis Heimbigner <dennis@cs.colorado.edu>
location:       ftp://ftp.cs.colorado.edu/pub/cs/distribs/arcadia/tps.tar.Z
description:    Embedded, Transportable, Agent Language based on Postscript.
conformance:    N.A.
features:       + Safety.
                 + State Accessibility.
                 + Multiple Interpreters.
                 + Extensible types.
                 + Extensible execution stack frames.
bugs:       Send bug reports to author.
requires:       c++ compiler.
ports:     Variety of Unix platforms: Solaris(1,2), IRIX, HPUX, OSF1.
status:   active, supported.
help:       from author.
support:        from author.
announcements:  comp.lang.misc
updated:        ?
cref:       distributed
cref:       embeddable
cref:       scripting languages
cref:       Forth family languages
lref:       Postscript

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:       SGML (Standardized Generalized Markup Language)
package:        sgmls
version:        1.1
parts:     parser
author:   James Clark <jjc@jclark.com> and Charles Goldfarb
location:       ftp pub/text-processing/sgml/sgmls-1.0.tar.Z from ftp.uu.net
    UK:   ftp sgmls/sgmls-1.1.tar.Z from ftp.jclark.com
description:    SGML is a markup language standardized in ISO 8879.  Sgmls is
                 an SGML parser derived from the ARCSGML parser materials which
                 were written by Charles Goldfarb.  It outputs a simple, easily
                 parsed, line oriented, ASCII representation of an SGML
                 document's Element Structure Information Set (see pp 588-593 of
                 ``The SGML Handbook'').    It is intended to be used as the front
                 end for structure-controlled SGML applications.    SGML is an
                 important move in the direction of separating information from
                 its presentation, i.e. making different presentations possible
                 for the same information.
bugs:       James Clark <jjc@jclark.com>
ports:     unix, msdos
updated:        1993/02/22

language:       troff, nroff, eqn, tbl, pic, refer, Postscript, dvi
package:        groff
version:        1.07
parts:     document formatter, documentation
author:   James Clark <jjc@jclark.com>
location:       ftp groff-1.07.tar.z from a GNU archive site
description:    [An absolutely fabulous troff! --ed]
restriction:    GNU General Public License
requires:       C++
updated:        1993/03/03

language:       Web
package:        CWeb
version:        3.1
parts:     translator(ANSI C and C++)
author:   Levy/Knuth?
location:       ?
description:    [Referred to in the CWeb 3.x announcement (below). I'll follow
                  up on it in the next release of the list. -- Ed]
requires:       ANSI C and/or C++ Compiler?
contact:        ?
updated:        ?

language:       Web
package:        CWeb
version:        3.x
parts:     translator(ANSI C)
author:   Marc van Leeuwen
location:       ftp pub/cweb/? from ftp.cwi.nl
description:    An ANSI C implementation of the Web literate-programming
                 concept (Both source and output are ANSI C). This version was
                 developed in parallel with v3.1 referred to above.
requires:       ANSI C Compiler
contact:        M.van.Leeuwen@cwi.nl
updated:        1993/12/16

language:       Web
package:        web2c
version:        5-851d
parts:     translator(C)
author:   ?
location:       ftp TeX/web2c.tar.Z from ics.uci.edu
    Europe:     ftp pub/tex/src/web2c/web2c.tar.Z from ftp.th-darmstadt.de
description:    
contact:        Karl Berry <karl@claude.cs.umb.edu>
updated:        1993/02/22

language:       Web
package:        Web
version:        ?
parts:     translator(Pascal)
author:   Donald Knuth
location:       ftp ? from labrea.stanford.edu
description:    Donald Knuth's programming language where you
                 write the source and documentation together.
requires:       Pascal
contact:        ?
updated:        ?

language:       Web
package:        FunnelWeb
version:        ?
parts:     macro preprocessor, documentation, tests, ?
author:   Ross Williams <ross@spam.adelaide.edu.au>
location:       comp.sources.unix volume 26
description:    FunnelWeb is a production-quality literate-programming tool
                 that emphasises simplicity and reliability. It provides a macro
                 facility, and assists in the production of typeset
                 documentation.    Input-programming-language independent
restriction:    CopyLeft
ports:     Sun, Vax, Mac, PC
updated:        1993/04/11

logic programming languages
-------------------------------------------------------------------------------
category:       logic programming languages
description:    languages designed to manipulate logic predicates.  Often
                 used to build expert systems

language:       BABYLON
package:        BABYLON
version:        2.3
parts:     ai workbench (expert system development environment)
author:   members of GMD, FIT-KI
location:       ftp gmd/ai-research/Software/Babylon/* from ftp.gmd.de
                    or in WWW from http://www.gmd.de/
description:    BABYLON is a development environment for expert systems. It
                 includes frames, rules, constraints, a prolog-like logic
                 formalism, and a description language for diagnostic
                 applications (texi).
reference:      Christaller, T., Di Primio, F., Voss, A. (Hrsg.).
                  Die KI-Werkbank Babylon.
                  Eine offene und portable Entwicklungsumgebung fuer
                  Expertensysteme. Addison-Wesley, 1989, ISBN 3-89319-155-0
                 Christaller, T., Di Primio, F., Voss, A. (eds).
                  The AI-Workbench BABYLON.
                  An open and portable development environment for expert systems.
                  Academic Press, London, 1992, ISBN 0-12-174235-0;
                 Guesgen, H.-W.,
                  CONSAT: A system for constraint satisfaction.
                  Research Notes in Artificial Intelligence, Morgan Kaufman,
                  San Mateo, 1989.
requires:       Common Lisp, works under:
                    Macintosh Common Lisp, Franz Allegro, CLisp, CMU, AKCL etc.
contact:        juergen.walther@gmd.de
updated:        1994/06/22

language:       Goedel
package:        Goedel
version:        1.4
parts:     book, compiler, user manual, system modules, example programs
author:   Jiwei Wang <jiwei@lapu.bristol.ac.uk>
location:       ftp.cs.kuleuven.ac.be (134.58.41.2)
                    /pub/logic-prgm/goedel/README
                 ftp.cs.bris.ac.uk (137.222.102.102)
                    /goedel/README
                 both contain further pointers.
description:    An implementation of a significant subset of Goedel. Goedel is 
                 a declarative, general-purpose strongly-typed logic programming
                 language.  The type system is based on many-sorted logic with
                 parametric polymorphism.  Modularity is supported, as well as
                 infinite precision arithmetic, limited constraint satisfaction,
                 and finite sets.
reference:      The Goedel Programming Language, P.M. Hill & J.W. Lloyd, 
                 MIT Press, 1994, ISBN 0-262-08229-2.
requires:       SICStus Prolog version 2.1 #6 (or later).  Run time system for
                 SPARCstation provided, though.
status:   underging continuing development
contact:        goedel@compsci.bristol.ac.uk
updated:        1994/05/16

language:       Mercury
package:        Mercury
version:        0.3
parts:     compiler(->C), library, run-time, documentation, examples
author:   Fergus Henderson <fjh@cs.mu.oz.au>
                 Thomas Conway <conway@cs.mu.oz.au>
                 Zoltan Somogyi <zs@cs.mu.oz.au>
                 and others
location:       
     Australia: ftp://ftp.cs.mu.oz.au/pub/mercury
     USA:       ftp://ftp.cs.sunysb.edu/pub/XSB/mercury
     Europe:    ftp://ftp.csd.uu.se/pub/Mercury
description:    a new, purely declarative logic programming language
                 designed for the development of large applications
                 by teams of programmers
reference:      see <http://www.cs.mu.oz.au/~zs/mercury.html>
features:       + no non-logical side-effects (even I/O is purely declarative)
                 + strong polymorphic types
                 + strong modes
                 + determinism system
                 + module system
                 + supports higher-order programming
                 + very efficient
bugs:       <mercury-bugs@cs.mu.oz.au>
restriction:    GNU Public Licence
requires:       GNU C >= 2.6.3 and GNU Make.
ports:     IRIX 5, Solaris, Ultrix, Alpha/OSF, Linux, BSD
portability:    should port to any POSIX-like system without too much trouble
status:   undergoing active development
discussion:     comp.lang.misc/comp.lang.prolog
support:        <mercury@cs.mu.oz.au>
announcements:  Mailing list (contact <mercury@cs.mu.oz.au> to subscribe).
contact:        <mercury@cs.mu.oz.au>
updated:        1995/09

language:       Isabelle
package:        Issabelle-93
version:        ?
parts:     ?
author:   Written by Lawrence C Paulson and Tobias Nipkow?
location:       ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp/ops5* from
                 ftp.cs.cmu.edu
description:    Isabelle is a generic theorem prover.  New logics are
                 introduced by specifying their syntax and rules of inference.
                 Proof procedures can be expressed using tactics and tacticals.
                 The latest version, Isabelle-93, is significantly faster than
                 Isabelle-92 and has several other improvements.
requires:       ?
contact:        Larry.Paulson@cl.cam.ac.uk
                 Tobias.Nipkow@informatik.tu-muenchen.de?
updated:        1993/12/20

language:       Janus
package:        qdjanus
version:        1.3
parts:     translator(prolog)
author:   Saumya Debray <debray@cs.arizona.edu>
location:       ftp janus/qdjanus/* from cs.arizona.edu
description:    janus is a janus-to-prolog compiler meant to be used 
                 with Sicstus Prolog
conformance:    mostly compliant with "Programming in Janus" by 
                 Saraswat, Kahn, and Levy.
updated:        1992/05/18

language:       Janus
package:        jc
version:        1.50 alpha
parts:     compiler(->C)
author:   David Gudeman <gudeman@cs.arizona.edu>
location:       ftp janus/jc/* from cs.arizona.edu
description:    jc is a janus-to-C compiler (considerably faster than qdjanus).
                 jc is a _sequential_ implementation of a _concurrent_ language.
bugs:       jc-bugs@cs.arizona.edu
ports:     sun-4, sun-3, Sequent Symmetry
status:   jc is an experimental system, undergoing rapid development.  
                 It is in alpha release currently.
discussion:     janusinterest-request@parc.xerox.com
updated:        1992/06/09

language:       LIFE (Logic, Inheritance, Functions, and Equations)
package:        Wild_LIFE
version:        first-release
parts:     interpreter, manual, tests, libraries, examples
author:   Paradise Project, DEC Paris Research Laboratory.
location:       ftp pub/plan/Life.tar.Z from gatekeeper.dec.com.
description:    LIFE is an experimental programming language with a
                 powerful facility for structured type inheritance.  It
                 reconciles styles from functional programming, logic
                 programming, and object-oriented programming.  LIFE
                 implements a constraint logic programming language with
                 equality (unification) and entailment (matching)
                 constraints over order-sorted feature terms.  The
                 Wild_LIFE interpreter has a comfortable user interface
                 with incremental query extension ability.  It contains
                 an extensive set of built-in operations as well as an X
                 Windows interface.
conformance:    semantic superset of LOGIN and LeFun.  Syntax is similar
                 to prolog.
bugs:       life-bugs@prl.dec.com
ports:     MIPS-Ultrix
portability:    good in theory
discussion:     life-request@prl.dec.com
contact:        Peter Van Roy <vanroy@prl.dec.com>
updated:        1992/12/14

language:       Lolli (logic programming)
package:        Lolli
version:        ?
parts:     ?
author:   ? Josh Hodas <hodas@saul.cis.upenn.edu> ?
location:       ftp pub/Lolli/Lolli-07.tar.Z. from ftp.cis.upenn.edu
description:    Lolli is an interpreter for logic programming based 
                 on linear logic principles.
                 Lolli can be viewed as a refinement of the the
                 Hereditary Harrop formulas of Lambda-Prolog.  All the
                 operators (though not the higher order unification) of
                 Lambda-Prolog are supported, but with the addition of
                 linear variations. Thus a Lolli program distinguishes
                 between clauses which can be used as many, or as few,
                 times as desired, and those that must be used exactly once.
requires:       ML
updated:        1992/11/08

language:       Parlog
package:        SPM System (Sequential Parlog Machine)
version:        ?
parts:     ?, documenation
author:   ?
location:       ? ftp lang/Parlog.tar.Z from nuri.inria.fr
description:    a logic programming language ?
reference:      Steve Gregory, "Parallel Logic Programming in PARLOG", 
                 Addison-Wesely, UK, 1987
restriction:    ? no source code ?
ports:     Sun-3 ?
updated:        ??

language:       Prolog
package:        SB-Prolog
version:        3.1 ?
parts:     ?
author:   interpreter
location:       ftp pub/sbprolog from sbcs.sunysb.edu
description:    ?
restriction:    GNU General Public License
contact:        ? warren@sbcs.sunysb.edu ?
updated:        ?

language:       Prolog
package:        XSB
version:        1.2
parts:     interpreter, preprocessor(HiLog), documentation
author:   XSB research group / SUNY at Stony Brook
location:       ftp pub/XSB/XSB.tar.Z from sbcs.sunysb.edu (130.245.1.15)
description:    XSB extends the standard functionality of Prolog (being a
                 descendant of PSB- and SB-Prolog) to include implementations of
                 OLDT (tabling) and HiLog terms.    OLDT resolution is extremely
                 useful for recursive query computation, allowing programs to
                 terminate correctly in many cases where Prolog does not.  HiLog
                 supports a type of higher-order programming in which predicate
                 symbols can be variable or structured.    This allows unification
                 to be performed on the predicate symbols themselves in addition
                 to the arguments of the predicates.  Of course, Tabling and
                 HiLog can be used together.
ports:     Sun, Solaris, NeXT, Linux, 386 BSD, IRIX, HP-UX
portability:    Generally to 32-bit machines.
contact:        xsb-contact@cs.sunysb.edu
updated:        1993/07/28

language:       Prolog
package:        Modular SB-Prolog
version:        ?
parts:     interpreter
author:   ?
location:       ftp pub/dts/mod-prolog.tar.Z from ftp.dcs.ed.ac.uk
description:    SB-Prolog version 3.1 plus modules
restriction:    GNU General Public License
ports:     Sparc
contact:        Brian Paxton <mprolog@dcs.ed.ac.uk>
updated:        ?

language:       ALF [prolog variant]
package:        alf (Algebraic Logic Functional programming language) 
version:        ?
parts:     runtime, compiler(Warren Abstract Machine)
author:   Rudolf Opalla <opalla@julien.informatik.uni-dortmund.de>
location:       ftp pub/programming/languages/LogicFunctional from
                 ftp.germany.eu.net
description:    ALF is a language which combines functional and
                 logic programming techniques.  The foundation of
                 ALF is Horn clause logic with equality which consists
                 of predicates and Horn clauses for logic programming,
                 and functions and equations for functional programming.
                 Since ALF is an integration of both programming
                 paradigms, any functional expression can be used
                 in a goal literal and arbitrary predicates can
                 occur in conditions of equations.
updated:        1992/10/08

language:       CLP (Constraint Logic Programming language) [Prolog variant]
package:        CLP(R)
version:        1.2
parts:     runtime, compiler(byte-code), contstraint solver
author:   IBM
location:       mail to Joxan Jaffar <joxan@watson.ibm.com>
description:    CLP(R) is a constraint logic programming language
                 with real-arithmetic constraints.  The implementation
                 contains a built-in constraint solver which deals
                 with linear arithmetic and contains a mechanism
                 for delaying nonlinear constraints until they become
                 linear.    Since CLP(R) subsumes PROLOG, the system
                 is also usable as a general-purpose logic programming
                 language.  There are also powerful facilities for
                 meta programming with constraints.  Significant
                 CLP(R) applications have been published in diverse
                 areas such as molecular biology, finance, physical
                 modelling, etc.    We are distributing CLP(R) in order 
                 to help widen the use of constraint programming, and 
                 to solicit feedback on the system
restriction:    free for academic and research purposes only
ports:     unix, msdos, OS/2
contact:        Roland Yap <roland@bruce.cs.monash.edu.au>, Joxan Jaffar
updated:        1992/10/14

language:       Prolog + constraints over Finite Domains and Booleans
package:        clp(FD)
version:        2.2
parts:     compiler clp(FD)->C, FD solver, runtime, debugger.
author:   Daniel Diaz - INRIA Rocquencourt - FRANCE
location:       ftp ftp.inria.fr in the directory
                 /INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/clp_fd
description:    clp(FD) is a constraint logic programming language
                 over Finite Domains. clp(FD) is based on the wamcc
                 Prolog compiler which translates Prolog to C. 
                 clp(FD) provides several constraints "a la CHIP" on
                 Finite Domains and Booleans and some facilities to
                 build new constraints. clp(FD) is 4 times faster than
                 CHIP v3.2 on average. 
restriction:    free (see COPYRIGHT notice)
requires:       GNU C (gcc) version 2.4.5 or higher
ports:     Sparc workstations, PC under linux, sony mews, dec ultrix
portability:    Generally to 32-bit machines with gcc.
contact:        Daniel Diaz (Daniel.Diaz@inria.fr)
updated:        1994/08/01

language:       Prolog
package:        wamcc
version:        2.2
parts:     compiler Prolog->C, runtime, Prolog debugger, WAM debugger.
author:   Daniel Diaz - INRIA Rocquencourt - FRANCE
location:       ftp ftp.inria.fr in the directory
                 /INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/wamcc
description:    wamcc is a Prolog Compiler which translates Prolog to
                 C via the WAM. wamcc has a syntax very close to the
                 future ansi standard. wamcc offers the most usual
                 built-in predicates, a top-level, a Prolog debugger and a
                 WAM debugger. wamcc is designed to be easily extended
                 (e.g. see clp(FD)).
                 From an efficiency point of view, wamcc is between
                 SICStus "emulated" and SICStus "native code" on Sparc
                 machines (1.5 times faster than SICStus emulated, 1.5
                 times slower than SICStus "native code").
restriction:    free (see COPYRIGHT notice)
requires:       GNU C (gcc) version 2.4.5 or higher
ports:     Sparc workstations, PC under linux, sony mews, dec ultrix
portability:    Generally to 32-bit machines with gcc.
contact:        Daniel Diaz (Daniel.Diaz@inria.fr)
updated:        1994/08/01

language:       Prolog (variant)
package:        Aditi
version:        Beta Release
parts:     interpreter, database
author:   Machine Intelligence Project, Univ. of Melbourne, Australia
location:       send email to aditi@cs.mu.oz.au
description:    The Aditi Deductive Database System is a multi-user
                 deductive database system.  It supports base relations
                 defined by facts (relations in the sense of relational
                 databases) and derived relations defined by rules that
                 specify how to compute new information from old
                 information.  Both base relations and the rules
                 defining derived relations are stored on disk and are
                 accessed as required during query evaluation.  The
                 rules defining derived relations are expressed in a
                 Prolog-like language, which is also used for expressing
                 queries.  Aditi supports the full structured data
                 capability of Prolog.  Base relations can store
                 arbitrarily nested terms, for example arbitrary length
                 lists, and rules can directly manipulate such terms.
                 Base relations can be indexed with B-trees or
                 multi-level signature files.  Users can access the
                 system through a Motif-based query and database
                 administration tool, or through a command line
                 interface.  There is also in interface that allows
                 NU-Prolog programs to access Aditi in a transparent
                 manner.    Proper transaction processing is not supported
                 in this release.
ports:     Sparc/SunOS4.1.2 Mips/Irix4.0
contact:        <aditi@cs.mu.oz.au>
updated:        1992/12/17

language:       Lambda-Prolog
package:        Prolog/Mali (PM)
version:        ? 6/23/92 ?
parts:     compiler(->C), linker, libraries, runtime, documentation
author:   Pascal Brisset <brisset@irisa.fr>
location:       ftp pm/* from ftp.irisa.fr
description:    Lambda-Prolog, a logic programming language defined by
                 Miller, is an extension of Prolog where terms are
                 simply typed $\lambda$terms and clauses are higher
                 order hereditary Harrop formulas. The main novelties
                 are universal quantification on goals and implication.
reference:      Miller D.A. and Nadathur G. "Higher-order logic 
                  programming", 3rd International Conference on Logic 
                  Programming, pp 448-462, London 1986.
                 Nadathur G. "A Higher-Order Logic as a Basis for Logic
                  Programming", Thesis, University of Pennsylvania, 1987.   
requires:       MALI-V06 abstract memory. MALI is available by anonymous ftp 
                 from ftp.irisa.fr
ports:     unix
discussion:     prolog-mali-request@irisa.fr
contact:        pm@irisa.fr
updated:        1992/07/06

language:       Prolog (variant)
package:        CORAL
version:        ?
parts:     interpreter, interface(C++), documentation
author:   ?
location:       ftp ? from ftp.cs.wisc.edu
description:    The CORAL deductive database/logic programming system was
                 developed at the University of Wisconsin-Madison.  The CORAL
                 declarative language is based on Horn-clause rules with
                 extensions like SQL's group-by and aggregation operators, and
                 uses a Prolog-like syntax.  * Many evaluation techniques are
                 supported, including bottom-up fixpoint evaluation and top-down
                 backtracking.  * A module mechanism is available.  Modules are
                 separately compiled; different evaluation methods can be used
                 in different modules within a single program.  * Disk-resident
                 data is supported via an interface to the Exodus storage
                 manager.  * There is an on-line help facility
requires:       AT&T C++ 2.0 (G++ soon)
ports:     Decstation, Sun4
updated:        1993/01/29

language:       Prolog
package:        BinProlog
version:        1.71
parts:     interpreter?, documentation
author:   ?
location:       ftp BinProlog/* from clement.info.umoncton.ca
description:    BinProlog 1.71 is at this time probably the
                 fastest freely available C-emulated Prolog.
ports:     IBM-PC/386, Sun-4, Sun-3, NeXT
contact:        Paul Tarau <tarau@info.umoncton.ca>
updated:        1993/04/03

language:       Prolog
package:        SWI-Prolog
version:        1.7.2
parts:     ?
author:   Jan Wielemaker <jan@swi.psy.uva.nl>
location:       ftp pub/SWI-Prolog from swi.psy.uva.nl 
    OS/2:       ftp pub/toolw/SWI/* from mpii02999.ag2.mpi-sb.mpg.de
description:    ?
conformance:    superset
features:       "very nice Ed. style prolog, best free one I've seen"
restriction:    GNU General Public License
ports:     Sun-4, Sun-3 (complete); Linux, DEC MIPS (done but 
                 incomplete, support needed); RS6000, PS2/AIX, Atari ST,
                 Gould PN, NeXT, VAX, HP-UX (known problems, support needed);
                 MSDOS (status unknown), OS/2
status:   activly developed
discussion:     prolog-request@swi.psy.uva.nl
contact:        (OS/2) Andreas Toenne <atoenne@mpi-sb.mpg.de>
updated:        1993/07/23

language:       Prolog
package:        Beta-Prolog
version:        1.5
parts:     interpreter(?), libraries, debugger
author:   Neng-Fa Zhou <zhou@mse.kyutech.ac.jp>
                 form "Real Name <email@address>".  Surface mail addresses
                 are not used unless there is no email address.
location:       ftp pub/Language/prolog/* from ftp.kyutech.ac.jp
description:    ?
conformance:    Incorporates most built-in predicates in ISO-Prolog.
updated:        1995/04/05

language:       Prolog
package:        Frolic
version:        ?
parts:     ?
author:   ?
location:       ftp pub/frolic.tar.Z from cs.utah.edu
description:    ?
requires:       Common Lisp
contact:        ?
updated:        1991/11/23

language:       Prolog
package:        ? Prolog package from the University of Calgary ?
version:        ?
parts:     ?
author:   ?
location:       ftp pub/prolog1.1/prolog11.tar.Z from cpsc.ucalgary.ca
description:    + delayed goals
                 + interval arithmetic
requires:       Scheme
portability:    relies on continuations
contact:        ?
updated:        ?

language:       Prolog
package:        ? slog ?
version:        ?
parts:     translator(Prolog->Scheme)
author:   dorai@cs.rice.edu
location:       ftp public/slog.sh from titan.rice.edu
description:    macros expand syntax for clauses, elations etc, into Scheme
ports:     Chez Scheme
portability:    reliese on continuations
updated:        ?

language:       Prolog
package:        LM-PROLOG
version:        ?
parts:     ?
author:   Ken Kahn and Mats Carlsson
location:       ftp archives/lm-prolog.tar.Z from sics.se
description:    ?
requires:       ZetaLisp
contact:        ?
updated:        ?

language:       Prolog
package:        Open Prolog
version:        1.0.3d22
parts:     interpreter, examples
author:   Michael Brady <beady@cs.tcd.ie>
location:       ftp /pub/languages/open-prolog/* from ftp.cs.tcd.ie
description:    Text-oriented Prolog system for the Macintosh (Edimburgh
                 syntax), with a MPW-like worksheet as the main user 
                 interface.
features:       + supports most the features of DEC Prolog or C-Prolog
                   including Definite Clause Grammars
                 + support disjunctive calls, negation, if-then and 
                   if-then-else according to the draft ISO Prolog standard
                 + supports program-originated catch-and-throw exception
                   handling conforming to the ISO Draft
                 - Real-number arithmetic and internal database predicates
                   are not supported.
                 + built-in predicates to manage Macintosh dialogs
ports:     Macintosh
contributions:  send a postcard
contact:        Michael Brady <brady@cs.tcd.ie>
updated:        1995/06/19

language:       Prolog
package:        UPMAIL Tricia Prolog
version:        ?
parts:     ?
author:   ?
location:       ftp pub/Tricia/README from ftp.csd.uu.se
description:    ?
contact:        <tricia-request@csd.uu.se>
updated:        ?

language:       Prolog
package:        ?; ? (two systems)
version:        ?; ?
parts:     ?; ?
author:   ?
location:       ftp ai.prolog/Contents from aisun1.ai.uga.edu
description:    ?; ?
ports:     MSDOS, Macintosh; MSDOS
contact:        Michael Covington <mcovingt@uga.cc.uga.edu>
updated:        ?; ?

language:       Prolog
package:        XWIP (X Window Interface for Prolog)
version:        0.6
parts:     library
author:   ?
location:       ftp contrib/xwip-0.6.tar.Z from export.lcs.mit.edu
description:    It is a package for Prologs following the Quintus foreign
                 function interface (such as SICStus). It provides a (low-level)
                 Xlib style interface to X. The current version was developed
                 and tested on SICStus 0.7 and MIT X11 R5 under SunOS 4.1.1.
portability:    It is adaptable to many other Unix configurations.
contact:        xwip@cs.ucla.edu
updated:        1993/02/25

language:       Prolog
package:        PI
version:        ?
parts:     library
author:   ?
location:       ftp pub/prolog/ytoolkit.tar.Z from ftp.ncc.up.pt
description:    PI is a interface between Prolog applications and XWindows that
                 aims to be independent from the Prolog engine, provided that it
                 has a Quintus foreign function interface (such as SICStus,
                 YAP).  It is mostly written in Prolog and is divided in two
                 libraries: Edipo - the lower level interface to the Xlib
                 functions; and Ytoolkit - the higher level user interface
                 toolkit
contact:        Ze' Paulo Leal <zp@ncc.up.pt>
updated:        1993/03/02

language:       Prolog
package:        ISO draft standard
version:        ? (What year??)
parts:     language definition
author:   ?
location:       ftp ? from ftp.th-darmstadt.de
description:    ?
updated:        1992/07/06

language:       Prolog
iref:       (Prolog) Tim Budd's C++ implementation of Kamin's interpreters

language:       OPS5
package:        PD OPS5
version:        ?
parts:     interpreter
author:   Written by Charles L. Forgy and ported to Common Lisp by 
                 George Wood and Jim Kowalski. 
location:       ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp/ops5* from 
                 ftp.cs.cmu.edu
description:    Public domain implementation of an OPS5 interpreter. OPS5 is
                 a programming language for rule-based production systems.
                 A rule consists of pre-condition(s) and the resulting
                 action. The system as a whole acts first checking the
                 status of system in its working memory and matches the
                 rules to see if there are rules that are satisfied,
                 and then the action in one selected satisfied rule is
                 executed.
                 There is a commercial version available called OPS83.
                 Please contact the author for information.
requires:       Common Lisp
contact:        ? Mark Kantrowitz <mkant+@cs.cmu.edu> ?
updated:        1992/10/17

--
Send compilers articles to compilers@iecc.com,
meta-mail to compilers-request@iecc.com.

----------------------------------------------------------------------

Path: news1.ucsd.edu!ihnp4.ucsd.edu!swrinde!cs.utexas.edu!uwm.edu!news.cse.psu.edu!news.ecn.bgu.edu!vixen.cso.uiuc.edu!newsfeed.internetmci.com!in3.uu.net!ivan.iecc.com!ivan.iecc.com!not-for-mail
From: free-compilers@idiom.com (Steven Robenalt)
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Subject: Catalog of compilers, interpreters, and other language tools [p4of5]
Supersedes: <free4-Jul-96@comp.compilers>
Followup-To: comp.lang.misc
Date: 1 Aug 1996 07:00:11 -0400
Organization: Idiom Consulting / Berkeley, CA
Lines: 1820
Sender: johnl@iecc.com
Approved: compilers@iecc.com
Expires: 1 Sep 96 23:59:00 GMT
Message-ID: <free4-Aug-96@comp.compilers>
References: <free3-Aug-96@comp.compilers>
Reply-To: free-compilers@idiom.com (Steven Robenalt)
NNTP-Posting-Host: ivan.iecc.com
Summary: Monthly posting of free language tools that include source code
Keywords: tools, FTP, administrivia
Xref: news1.ucsd.edu comp.compilers:7653 comp.lang.misc:13946 comp.archives.admin:1260 news.answers:63343 comp.answers:15856

Archive-name: compilers/free/part4
Last-modified: 1996/04/01
Version: 9.0

concurrent, parallel, and simulation languages
-------------------------------------------------------------------------------
category:       concurrent, parellel, and simulation languages
description:    This is a fairly broad category of languages.  Most of the
                 implementations in this set are not good enough to be used in
                 production systems.  Some are.    In addition to those listed
                 below, see:
lref:       Concurrent Clean
lref:       Concurrent ML
lref:       EuLisp
lref:       Parallaxis
lref:       Maisie
lref:       uC++
lref:       MeldC
lref:       pm2
lref:       Simula 67
iref:       (Tcl) MTtcl - Multi-threaded Tcl

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 pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
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:        1990/05/23

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 pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
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:        1993/01/28

language:       ALLOY
package:        ALLOY
version:        2.0?
parts:     interpreter, documentation, examples
author:   Thanasis Mitsolides <mitsolid@cs.nyu.edu>
location:       ftp pub/local/alloy/* from cs.nyu.edu
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:        1991/06/11

language:       Cellang (Cellular Automata)
package:        Cellular
version:        2.0
parts:     byte-code compiler, runtime, viewer
author:   J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
location:       comp.sources.unix, volume 26
description:    A system for cellular automata programming.
updated:        1993/04/03

language:       Hermes
package:        IBM Watson prototype Hermes system
version:        0.8alpha patchlevel 01
parts:     bytecode compiler, compiler(bytecode->C), runtime
author:   Andy Lowry <lowry@watson.ibm.com>
location:       ftp pub/hermes/README from software.watson.ibm.com
description:    Hermes is a very-high-level integrated language and
                 system for implementation of large systems and
                 distributed applications, as well as for
                 general-purpose programming.  It is an imperative,
                 strongly typed, process-oriented language.  Hermes
                 hides distribution and heterogeneity from the
                 programmer.  The programmer sees a single abstract
                 machine containing processes that communicate using
                 calls or sends.    The compiler, not the programmer,
                 deals with the complexity of data structure layout,
                 local and remote communication, and interaction with
                 the operating system.  As a result, Hermes programs are
                 portable and easy to write.  Because the programming
                 paradigm is simple and high level, there are many
                 opportunities for optimization which are not present in
                 languages which give the programmer more direct control
                 over the machine.
reference:      Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
                  Language for Distributed Computing. Prentice-Hall, Englewood
                  Cliffs, NJ.  1991.  ISBN: O-13-389537-8.
ports:     RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
discussion:     comp.lang.hermes
updated:        1992/03/22

language:       ICC++ (Illinois Concert C++) and CA (Concurrent Aggregates)
package:        Illinois Concert System
version:        3.0
parts:     compiler(->C++), interpreter, symbolic debugger, parallel
                 runtime simulator, parallel implementation on TMC CM5,
                 Cray T3D
author:   Various, concert@red-herring.cs.uiuc.edu
location:       http://www-csag.cs.uiuc.edu/projects/concert.html
description:    The Concert System incorporates global analysis for
                 parallel object-oriented languages, including
                 aggressive concrete type inference.  In addition, it 
                 include an extremely lightweight communication and 
                 threading library (compiler-supported).    The
                 implementation supports both a parallel C++ and 
                 a simple parallel object-oriented language called 
                 Concurrent aggregates.
conformance:    ICC++ and CA documentation available from the web site.
reference:      Andrew Chien, et. al. The Concert System -- Compiler and 
                 Runtime Support for Efficient Fine-Grained Concurrent 
                 Object-Oriented Programs, Department of Computer Science, 
                 University of Illinois, Urbana, Illinois, Technical 
                 Report UIUCDCS-R-93-1815, June 1993.
                 (Others are available also)
bugs:       concert@red-herring.cs.uiuc.edu
restriction:    redistribution is restricted
announcements:  where new releases are announced
contact:        Andrew Chien   achien@cs.uiuc.edu
updated:        1995/05/07  Version 3.0
lref:       C++

language:       OCCAM 2 (A parallel, concurrent, distributed language)
package:        D7202-oc / TDS
version:        ?
parts:     compiler & full toolset system
author:   INMOS Ltd.
location:       ftp://unix.hensa.ac.uk/pub/parallel/occam/compilers/inmos
                 http://www.hensa.ac.uk/parallel/occam/compilers/inmos/index.html
requires:       INMOS OCCAM compiler D7202 from: 
                 ftp://unix.hensa.ac.uk/pub/parallel/occam/compilers/inmos/oc
ports:     Sun4 (DEC Alpha and Motorola PowerPC to follow)
portability:    Sparc processor only at present
status:   actively developed, supported
discussion:     comp.sys.transputer, <ofa-com-request@ukc.ac.uk>
contact:        Occam For All Team <ofa-bugs@ukc.ac.uk>
updated:        4-May-1995

language:       OCCAM 2 (A parallel, concurrent, distributed language)
package:        SPOC (Southampton Portable Occam Compiler)
version:        1.1
parts:     compiler(->C), run-time system, documentation, tools, examples
author:   Denis Nicole <dan@ecs.soton.ac.uk>, 
                 Sean Wykes <smw@ecs.soton.ac.uk>, 
                 Mark Debbage <md@pact.srf.ac.uk>, 
                 Mark Hill <mbh@pact.srf.ac.uk>
location:       ftp://ftp.ecs.soton.ac.uk/pub/occam/spoc1.1
                 ftp://unix.hensa.ac.uk/pub/parallel/occam/compilers/spoc
                 http://www.hensa.ac.uk/parallel/occam/compilers/spoc/index.html
description:    supports the OCCAM 2 programming language.
conformance:    Full implementation of OCCAM 2
reference:      "OCCAM 2 reference manual", INMOS ltd, Prentice-Hall
                 International, ISBN 0-13-629312-3
features:       The system generates ANSI-C code, implementing efficient
                 portable concurrency running on a single target processor.
                 Supports cross-linking with NAG Fortran-90 compiler.
restriction:    GPL'ed
requires:       C compiler, gmd compiler tools (available with compiler
                 sources) (Sun4 binaries available)
ports:     Sun3, Sun4
portability:    ? Should work on most UNIXes
status:   actively developed, supported
discussion:     comp.sys.transputer
contact:        Dr Denis A Nicole <dan@ecs.soton.ac.uk>
updated:        1-March-1994

language:       PCN
package:        PCN
version:        2.0
parts:     compiler?, runtime, linker, libraries, tools, debugger, 
                 profiler, tracer
author:   Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
                 <tuecke@mcs.anl.gov>, and others
location:       ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
description:    PCN is a parallel programming system designed to improve
                 the productivity of scientists and engineers using parallel
                 computers.  It provides a simple language for specifying
                 concurrent algorithms, interfaces to Fortran and C, a
                 portable toolkit that allows applications to be developed
                 on a workstation or small parallel computer and run
                 unchanged on supercomputers, and integrated debugging and
                 performance analysis tools.  PCN was developed at Argonne
                 National Laboratory and the California Institute of
                 Technology.  It has been used to develop a wide variety of
                 applications, in areas such as climate modeling, fluid
                 dynamics, computational biology, chemistry, and circuit
                 simulation.
ports:     (workstation nets): Sun4, NeXT, RS/6000, SGI
                 (multicomputers): iPSC/860, Touchstone DELTA
                 (shared memory multiprocessors): Symmetry/Dynix
contact:        <pcn@mcs.anl.gov>
updated:        1993/02/12

language:       LOOPN
package:        LOOPN
version:        ?
parts:     compiler?, simulator
author:   ?
location:       ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
description:    I wish to announce the availability of a compiler, simulator
                 and associated source control for an object-oriented petri net
                 language called LOOPN.    In LOOPN, a petri net is an extension
                 of coloured timed petri nets.  The extension means firstly that
                 token types are classes.  In other words, they consist of both
                 data fields and functions, they can be declared by inheriting
                 from other token types, and they can be used polymorphically.
                 The object-oriented extensions also mean that module or subnet
                 types are classes.  LOOPN has been developed over a period of
                 about 5 years at the University of Tasmania, where it has been
                 used in teaching computer simulation and the modelling of
                 network protocols.  A petri net is a directed, bipartite graph;
                 nodes are either places (represented by circles) or transitions
                 (represented by rectangles).  A net is marked by placing tokens
                 on places.  When all the places pointing to a transition (the
                 input places) have a token, the net may be fired by removing a
                 token from each input place and adding a token to each place
                 pointed to by the transition (the output places).  Petri nets
                 are used to model concurrent systems, particularly in the
                 network protocol area.
contact:        Charles Lakos <charles@probitas.cs.utas.edu.au>
updated:        1992/12/20

language:       Simula
package:        Lund Simula
version:        4.07
parts:     ?
author:   ?
location:       ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
description:    ?
contact:        Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
updated:        1992/05/22

language:       SR (Synchronizing Resources)
package:        sr
version:        2.0 
parts:     ?, documentation, tests
author:   ?
location:       ftp sr/sr.tar.Z from cs.arizona.edu
description:    SR is a language for writing concurrent programs.
                 The main language constructs are resources and
                 operations.  Resources encapsulate processes and
                 variables they share; operations provide the primary
                 mechanism for process interaction.  SR provides a novel
                 integration of the mechanisms for invoking and
                 servicing operations.  Consequently, all of local and
                 remote procedure call, rendezvous, message passing,
                 dynamic process creation, multicast, and semaphores are
                 supported.
reference:      "The SR Programming Language: Concurrency in Practice", 
                  by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings 
                  Publishing Company, 1993, ISBN 0-8053-0088-0
ports:     Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
                 NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
                 Apollo, and others.
discussion:     info-sr-request@cs.arizona.edu
contact:        sr-project@cs.arizona.edu
updated:        1992/09/01

language:       UNITY
package:        MasPar Unity
version:        1.0
parts:     translator(UNITY->MPL), documentation
author:   Martin Huber, University of Karlsruhe, Germany
location:       ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
description:    ?
contact:        Lutz Prechelt <prechelt@ira.uka.de>
updated:        ?

language:       UNITY
package:        HOL-UNITY
version:        2.1
parts:     verification tool
author:   ?
location:       ?
description:    ?
contact:        Flemming Andersen <fa@tfl.dk> ?
updated:        ?

Forth family languages
-------------------------------------------------------------------------------
category:       Forth family languages
description:    These are the stack-based postfix languages, usually
                 interpreted, descended from the FORTH language originally
                 developed for telescope control.
lref:       Postscript
iref:       (mc6809) 6809, E-Forth

language:       Forth
package:        TILE Forth
version:        2.1
parts:     interpreter
author:   Mikael Patel <mip@sectra.se>
location:       ftp tile-forth-2.1.tar.Z from a GNU archive site
description:    Forth interpreter in C; many Forth libraries
conformance:    Forth83
restriction:    shareware/GPL
ports:     unix
updated:        1991/11/13

language:       Forth
package:        cforth
version:        ?
parts:     interpreter
author:   ?
location:       comp.sources.unix archive volume 1
description:    ?
updated:        ?

language:       Forth
package:        pfe (Portable Forth Environment)
version:        0.9.4
parts:     ?
author:   Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
location:       ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
description:    A Forth development system that tries to be correct,
                 complete, portable, usable and simple.    It doesn't try too
                 hard to be fast.
conformance:    all dpANS word sets
ports:     Linux, RS/6000, HP-UX
portability:    high
updated:        1994/05/02

language:       Forth
package:        F68K
version:        ?
parts:     ?
author:   ?
location:       ftp atari/Languages/f68k.* from archive.umich.edu
description:    a portable Forth system for Motorola 68k computers
ports:     Atari ST/TT, Amiga, Sinclair QL and OS9
portability:    very high for 68000 based systems
contact:        Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
updated:        1992/12/14

language:       Forth
package:        51forth
version:        ?
parts:     ?
author:   Scott Gehmlich
location:       ftp giovanni/51forth.zip from [130.123.96.9]
description:    source and documentation for a 8051 subroutine-
                 threaded forth
contact:        ?
updated:        1993/04/03

language:       Forth
package:        M4th
version:        ?
parts:     interpreter, kernel, editor, application (8086 assembler),
                 hypertext-based documentation, decompiler
author:   Nils M. Holm <fs29@rummelplatz.uni-mannheim.de>
location:       ftp.uni-stuttgart.de:/pub/systems/pc/lang/forth/m4th10.zip
description:    A small Forth implementation
ports:     MSDOS.
updated:        1994/06/28

language:       Forth
package:        ThisForth
version:        ?
author:   ?
location:       ftp pub/wilbaden/this4th-00B01.MAC.sit.* from ftp.netcom.com
description:    ThisForth has been built for Macintosh and PowerMac.There is
                 still a single source for all incarnations. For now there is
                 just a console interface for the Mac and PowerMac.
ports:     Macintosh, PowerMac
updated:        1994/09/20

language:       Mops
package:        Mops
version:        2.6
parts:     compiler, assembler, documentation, editor
author:   Michael Hore <mikeh@zeta.org.au>
location:       ftp://taygeta.oc.nps.navy.mil/pub/Forth/Mops/Mops26s.sea
                 ftp pub/MAC/Yerk from astro.uchicago.edu
description:    Like Yerk, Mops is descended from the ex-commercial
                 object-oriented language Neon. Mops features an
                 optimizing native-code compiler; it is much faster
                 than Yerk, but less compatible with Neon. Mops
                 includes extensions such as multiple inheritance.
conformance:    Includes a prologue for ANSI Forth.
features:       + classes for all the standard Mac interface items
                 + can produce double-clickable applications
                 + extremely fast edit-compile cycle
                 + includes a PowerPC assembler
ports:     Macintosh
updated:        ?

language:       Kevo (Forth-like)
package:        kevo
version:        0.9b6
parts:     interpreter, demo programs, user's guide, papers
author:   Antero Taivalsaari <tsaari@cs.uta.fi>
location:       ftp /pub/kevo/* from cs.uta.fi
description:    Kevo is a prototype-based object-oriented language for
                 Macintosh Kevo features a unique prototype-based object model
                 (which is based neither on classes nor Self-style delegation),
                 multitasking (both preemptive and cooperative), dynamic memory
                 management, and an icon-based object browser and editor modeled
                 loosely after Mac Finder. Kevo has been built around a portable
                 threaded code interpreter, and is syntactically a close
                 derivative of Forth.
ports:     Macintosh
contact:        kevo-interest@ursamajor.uvic.ca
updated:        1993/05/18

language:       Yerk
package:        Yerk
version:        3.62
parts:     ?
author:   ?
location:       ftp pub/Yerk/? from oddjob.uchicago.edu
description:    Yerk is an object oriented language based on a
                 Forth Kernel with some major modifications.  It
                 was originally known as Neon, developed and sold
                 as a product by Kriya Systems from 1985 to 1989.
                 Several of us at The University of Chicago have
                 maintained Yerk since its demise as a product.
                 Because of the possible trademark conflict that
                 Kriya mentions, we picked the name Yerk, which is
                 at least not an acronym for anything, but rather
                 stands for Yerkes Observatory, part of the Department
                 of Astronomy and Astrophysics at U of C.
updated:        ?

compiler generators and related tools
-------------------------------------------------------------------------------
category:       compiler generators and related tools
description:    Yacc, and the rest of its family

language:       ABC
package:        Grammar analysis tools
version:        1
parts:     analysis tools, samples, documentation
author:   Steven Pemberton <Steven.Pemberton@cwi.nl>
location:       ftp /pub/abc/examples/grammar/* from ftp.cwi.nl
                 or http://www.cwi.nl/~steven/abc/examples/grammar
description:    Grammar analysis program written in ABC (q.v.) for
                 answering such questions as "what are the start
                 symbols of all rules", "what symbols can follow this
                 symbol", "which rules are left recursive", and so on.
                 Includes a grammar of ISO Pascal.
reference:      Ftp archive includes an article explaining the package.
ports:     unix, MSDOS, atari, mac 
contact:        Steven.Pemberton@cwi.nl
updated:        1993/07/05

language:       ? attribute grammar ?
package:        Alpha
version:        pre-release
parts:     semantic-analysis generator?, documentation(german)
author:   Andreas Koschinsky <koschins@cs.tu-berlin.de>
location:       from author
description:    I have written a compiler generator. The generator is called
                 Alpha and uses attribute grammars as specification calculus.
                 Alpha is the result of a thesis at Technische Universitaet
                 Berlin. I am looking for someone who would like to test and use
                 Alpha.    Alpha generates compilers from a compiler
                 specification. This specification describes a compiler in
                 terminology of attribute grammars. Parser and Scanner are
                 generated by means of Bison and Flex.  Alpha generates an
                 ASE-evaluator (Jazayeri and Walter).  The documentation is in
                 german since it is a thesis at a german university.
updated:        1993/02/16

language:       attribute-grammar extension of Yacc and Lex
package:        Ox
version:        G1.01
parts:     Yacc/Lex/C preprocessor, tutorial, reference manual,
                 man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
                 Fortran)
author:   Kurt Bischoff <bischoff@cs.iastate.edu>
location:       ftp pub/ox/* from ftp.cs.iastate.edu
description:    Ox generalizes the function of Yacc in the way that attribute
                 grammars generalize context-free grammars.  Ordinary Yacc and
                 Lex specifications may be augmented with definitions of
                 synthesized and inherited attributes written in C syntax.  Ox
                 checks these specifications for consistency and completeness,
                 and generates from them a program that builds and decorates
                 attributed parse trees.    Ox accepts a most general class of
                 attribute grammars.  The user may specify postdecoration
                 traversals for easy ordering of side effects such as code
                 generation.  Ox handles the tedious and error-prone details of
                 writing code for parse-tree management, so its use eases
                 problems of security and maintainability associated with that
                 aspect of translator development.  Ox is a preprocessor,
                 and extends the syntax and semantics of Yacc, Lex, and C.
reference:      Most compiler textbooks have descriptions of attribute
                 grammars.
features:       LALR(1), semantic-analyzer generation.
bugs:       none known.  Report bugs to ox-project@cs.iastate.edu.
restriction:    Use of Ox is free.  Ox-generated code is the property of
                 the Ox user.
ports:     Unix
contact:        ox-request@cs.iastate.edu
updated:        1993/11/14

language:       attribute grammar
package:        Rie
version:        1.0.6
parts:     compiler generator, attribute evaluator generator
author:   Masataka Sassa, Kazuhiro Kuroishi, Teruhisa Hirai and
                 Yoshiki Ohshima
location:       ftp pub/Rie/* from ftp.is.titech.ac.jp
description:    Rie is a yet another compiler generator which is based on
                 a one-pass attribute grammar called ECLR-attributed grammar.
                 ECLR-attributed grammar is a superset of LR-attributed
                 grammar, and the generated compiler can evaluate both
                 inherited and synthesized attributes in parallel with LR
                 parsing without creating a parse tree.  The style of the
                 Rie description is derived from Yacc, but the semantic
                 section of a production may contain attribution rules.
                 Because the specification is based on attribute grammar,
                 user can integrate syntax and semantics in one description.
                 Rie also accepts shorthand notations, context conditions
                 and `local' attributes, which are useful to write actual
                 compilers.
                 The generated compiler is only 1.8 times slower than a
                 handwritten compiler.  Rie generates an attribute evaluator
                 in C source.
                 The package includes sample descriptions of PL/0 compiler
                 and of a sample of simple semantic analyzer, and documentation.
reference:      Sassa, M., Ishizuka, H., and Nakata, I.:
                 Rie, a Compiler Generator Based on a One-Pass
                 Attribute Grammar, Res. Rep. C-107, Dept. of Inf.
                 Sci., Tokyo Institute of Technology
                 (Now, only a printed version is available.  Contact
                 rie-info@is.titech.ac.jp.  Electric version will be
                 available from ftp://ftp.is.titech.ac.jp/pub/Rie/Papers/* .)
bugs:       Bug reports are welcome to rie-comments@is.titech.ac.jp.
restriction:    Rie is implemented by modifying Bison, so Rie must be
                 also covered by GNU General Public License version 2
                 and Bison's restriction. 
requires:       C compiler
ports:     UNIX, DOS, etc. (same as bison) and Sharp X68000
status:   We hope that it is stable
contact:        rie-info@is.titech.ac.jp>
updated:        1995/09/20

language:       BNF (Extended, actually a regular right part grammar)
package:        Gray
version:        4
parts:     parser generator, documentation, examples
author:   Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
how to get:     ftp://server.complang.tuwien.ac.at/pub/forth/gray4.tar.gz
                 ftp://server.complang.tuwien.ac.at/pub/forth/gray4.zip
description:    Gray is a parser generator written in Forth.  It takes 
                 grammars in an extended BNF and produces executable Forth 
                 code for recursive descent parsers.
restrictions:   Copyleft
requires:       ANS Forth
conformance:    ANS Forth with some environmental dependences (see README)
status:   supported
ports:     Several ANS Forth Systems; mail author for old versions
                 running on Tile.
updated:        1994/08/08

language:       BNF (??)
package:        ZUSE
version:        ?
parts:     parser generator(?)
author:   Arthur Pyster
location:       ? Univ Calif at Santa Barbara ?
description:    ll(1) paser generator
requires:       Pascal
updated:        1986/09/23

language:       BNF (??)
package:        FMQ
version:        ?
parts:     paser generator w/error corrector generator
author:   Jon Mauney
location:       ftp from csczar.ncsu.edu
description:    ?
status:   ?
contact:        ?
updated:        1990/03/31

language:       BNF (??)
package:        ATS (Attribute Translation System)
version:        ?
parts:     ?
author:   ? University of Saskatchewan ?
location:       ?
description:    generates table-driven LL(1) parsers with full insert-only
                 error recovery.    It also handles full left-attribute semantic
                 handling, which is a dream compared to using YACC's parser
                 actions.
status:   ?
contact:        ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
updated:        1988/11/29

language:       BNF (Extended)
package:        PCCTS (Purdue Compiler-Construction Tool Set)
version:        1.33
parts:     scanner generator, parser generator (pred-LL(k)), 
                 documentation, tutorial
author:   Terence J. Parr <parrt@parr-research.com>, 
                 Will E. Cohen <cohenw@ecn.purdue.edu>, 
                 Henry G. Dietz <hankd@ecn.purdue.edu>,
                 Russell W. Quong <quong@ecn.purdue.edu>
location:       ftp://ftp.parr-research.com/pub/pccts/
    UK:   ftp://src.doc.ic.ac.uk/computing/programming/languages/tools/pccts/ 
description:    PCCTS is similar to a highly integrated version of 
                 YACC and LEX; where ANTLR (ANother Tool for Language 
                 Recognition) corresponds to YACC and DLG (DFA-based 
                 Lexical analyzer Generator) functions like LEX.
                 PCCTS grammars contain specifications for lexical and 
                 syntactic analysis with selective backtracking 
                 ("infinite lookahead"), semantic predicates,
                 intermediate-form construction and sophisticated
                 parser exception handling.  Rules may employ Extended BNF 
                 (EBNF) grammar constructs and may define parameters, 
                 return values and local variables. Languages described in 
                 PCCTS are recognized via predicated-LL(k) parsers 
                 constructed in pure, human-readable, C/C++ code; the C++ 
                 programming interface is very good.  The documentation is 
                 complete, but distributed over an original manual plus
                 multiple release notes.    A book is in the works and should 
                 be available 1Q 1996.
                 A recently-developed PCCTS-based C++ parser is available 
                 at the ftp site; it is an *initial* release and was 
                 derived from the grammar built by NeXT, Inc..
restriction:    The tool is totally public domain--it has no legal 
                 restrictions on its use or incorporation into commercial 
                 applications.
ports:     Unix, DOS, Windows, OS/2, Macintosh, NeXT
portability:    very high
discussion:     comp.compilers.tools.pccts
contact:        Terence J. Parr <parrt@acm.org>
updated:        1995/10/05

language:       BNF (very extended), yacc
package:        PRE-CC Xtended
version:        2.30
parts:     library, parser generator (LL(oo)), translator(yacc->)
author:   Peter Breuer
location:       FTP: ftp.comlab.ox.ac.uk:/pub/Programs/preccx.tar.Z (Unix)
                      ftp.comlab.ox.ac.uk:/pub/Programs/preccx.msdos (MS-DOS)
                      ftp.comlab.ox.ac.uk:
                           /pub/Documents/techpapers/Jonathan.Bowen/preccx-uug.ps.Z
                 (more recent versions available by subscription)
                 URL: http://www.comlab.ox.ac.uk/archive/redo/precc.html
description:    PRECCX is an infinite-lookahead compiler compiler for context
                 dependent grammars.  The generated code is ANSI C.
                 Specification scripts are in very EBNF with inherited and
                 synthetic attributes allowed. Scripts can be compiled in
                 separate modules, and linked together later.  Meta-production
                 rules allowed.    The technology is essentially LL(oo) with
                 optimizations. A converter for yacc scripts is available.
reference:      "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
                  In E. Davies and A. Findlay (eds.),
                  Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
                  St. Cross Centre, Oxford, UK, 6-8 January 1993,
                  ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
                  UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
                  Herts SG9 9PL, UK, pp 167-182, 1993.
                 "A PREttier Compiler-Compiler: Generating Higher Order
                  Parsers in C"    P.T. Breuer and J.P. Bowen.
                  Oxford University Computing Laboratory Technical Report
                  PRG-TR-20-92, 25pp, November 1992. Accepted by
                  Software - Practice and Experience, 1994.
                  ftp pub/Documents/techreports/TR-20-92.ps.Z 
                  from ftp.comlab.ox.ac.uk
ports:     unix, MS-DOS
contact:        Peter Breuer <ptb@comlab.ox.ac.uk>,
                 Jonathan Bowen <bowen@comlab.ox.ac.uk>
updated:        1994/06/02

language:       BNF (??)
package:        LLGen
version:        ?
parts:     parser generator
author:   ? Fischer and LeBlanc ?
location:       ? ftp from csczar.ncsu.edu ?
description:    LL(1) parser generator
conformance:    subset of FMQ
reference:      "Crafting A Compiler", by Fischer and LeBlanc
status:   ?
contact:        ?
updated:        1990/03/31

language:       BNF
package:        wacco
version:        1.1, July 91
parts:     parser generator
author:   Parag Patel (parag@netcom.com, parag@sde.hp.com)
location:       comp.sources.misc volume ?
description:    Wacco is a recursive descent LL(1) parser generator that
                 generates C++ code.  Its syntax is similar to YACC
                 with a lot of sugaring.    It can also do attribute-driven
                 parsing.  The source is bootstrapped wacco code.
ports:     HP-UX s300 and s800, Sparc, and 4.3BSD (on HP)
portability:    Host machine must be 32 bits.
contact:        ?
updated:        ?

language:       BNF (Extended), BNF (yacc)
package:        GMD Toolbox for Compiler Construction (aka Cocktail)
version:        9209
parts:     lalr: parser generator (LALR(1) -> C, Modula-2),
                 ell : parser generator (LL(1) -> C, Modula-2),
                 rex : scanner generator (-> C, Modula-2),
                 bnf : translator (Extended BNF -> BNF),
                 y2l : translator (BNF (yacc) -> Extended BNF),
                 ast : abstract syntax tree generator,
                 ag  : attribute-evaluator generator,
                 puma: transformation of abstract syntax tree using 
                       pattern-matching
                 documentation, examples
author:   Josef Grosch <grosch@cocolab.sub.com> and others
location:       ftp /gmd/cocktail from ftp.gmd.de              
                 ftp /pub/unix/programming/compilerbau 
                 from ftp.rus.uni-stuttgart.de
                 ftp /pub/programming/languages/compiler-compiler/cocktail 
                 from ftp.th-darmstadt.de     
                 ftp /languages/tools/gmd from src.doc.ic.ac.uk          
                 ftp /.3/plan/gmd from gatekeeper.dec.com      
    OS/2:       ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo 
description:    A huge set of compiler building tools. 
requires:       (MS-DOS and MS-Windows only) DJ Delorie's DOS extender (go32)
                 (OS/2 only) emx programming environment for OS/2
ports:     Unix, Linux, MS-DOS, MS-Windows, OS/2
portability:    very high
status:   version 9209 is unsupported, Cocktail is actively developed,
                 versions 9401 and higher are commercial
discussion:     subscribe to Cocktail using listserv@eb.ele.tue.nl
support:        Josef Grosch <grosch@cocolab.sub.com>
contact:        Josef Grosch <grosch@cocolab.sub.com>
    OS/2:       Willem Jan Withagen <wjw@eb.ele.tue.nl>
updated:        1992/10/01

language:       BNF (??)
package:        T-gen
version:        2.1
parts:     parser generator, documentation, ?
author:   Justin Graver <graver@comm.mot.com>
location:       ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
description:    T-gen is a general-purpose object-oriented tool for the 
                 automatic generation of string-to-object translators. 
                 It is written in Smalltalk and lives in the Smalltalk 
                 programming environment.  T-gen supports the generation 
                 of both top-down (LL) and bottom-up (LR) parsers, which 
                 will automatically generate derivation trees, abstract 
                 syntax trees, or arbitrary Smalltalk objects.  The simple 
                 specification syntax and graphical user interface are 
                 intended to enhance the learning, comprehension, and 
                 usefulness of T-gen.
requires:       Smalltalk-80
ports:     ParcPlace Objectworks/Smalltalk 4.0 & 4.1
updated:        1992/10/18

language:       BNF 
package:        Eli Compiler Construction System
version:        3.8
parts:     scanner generator(regular expressions->C, C++), documentation
                 parser generator(LALR->C, C++), documentation
                 attribute grammar generator(LIDO->C, C++), documentation
                 definition table generator(PDL->C, C++), documentation
                 tree pattern-matcher generator(OIL->C, C++), documentation
                 unparser generator(PTG->C, C++), documentation
author:   ?
location:       ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
    Europe:     ftp unix/eli from ftp.uni-paderborn.de
                 or http://www.cs.colorado.edu/~eliuser
description:    Eli integrates off-the-shelf tools and libraries with
                 specialized language processors to generate complete compilers
                 quickly and reliably.  It simplifies the development of new
                 special-purpose languages, implementation of existing languages
                 on new hardware and extension of the constructs and features of
                 existing languages.
ports:     Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
discussion:     <eli-request@cs.colorado.edu>
bugs:       <elibugs@cs.colorado.edu>
contact:        <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
updated:        1993/11/01

language:       BNF
package:        tom (demo for Tomita Parsing algorithm)
version:        1
parts:     parser generator, parser interpreter, examples, documentation
author:   Mark Hopkins <mark@omnifest.uwm.edu>
location:       iecc.com in pub/files/tomita.tar.gz
                 alt.sources archive from October 4, 1993.
description:    An implementation of the Tomita parsing algorithm using
                 LR(0) tables and dynamic programming.
reference:      Kluwer '91, _Generalized LR Parsing_, Tomita ed., 0-7923-9201-9
                 "The Tomita Parsing Algorithm ...", comp.compilers May 20, 1994
features:       Cyclic context free grammars are processed.
portability:    System independent
updated:        1994/10/03

language:       BNF (yacc)
package:        NewYacc
version:        1.0
parts:     parser generator, documenation
author:   Jack Callahan <callahan@mimsy.cs.umd.edu> 
location:       ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
description:    [someone want to fill it in? --ed]
reference:      see Dec 89 CACM for a brief overview of NewYacc.
updated:        1992/02/10

language:       BNF (yacc)
package:        bison
version:        1.22
parts:     parser generator, documentation
author:   Robert Corbett and Richard Stallman 
location:       ftp bison-1.16.tar.Z from a GNU archive site
description:    ?
bugs:       bug-gnu-utils@prep.ai.mit.edu
restriction:    !! will apply the GNU General Public License to *your* code !!
ports:     unix, atari, ?
updated:        1993/09/14

language:       BNF (yacc), Lex
package:        Bison++ and Flex++
version:        1.21-8 (bison), 2.3.8-7 (flex), 5 (flex++bison++misc)
parts:     translator, documentation, postscript, examples, DOS binary
author:   Alain Coetmeur <coetmeur@icdc.fr>
location:       cse.unl.edu in ~ftp/pub/nandy/c++/tools/LATEST/*
    Europe:     mirrored on ftp.th-darmstadt.de
description:    A retargeting of bison-1 and flex 2.3 to C++, able to
                 generate classes.  As with Bison and Flex, these two tools
                 are independent but designed for mutual compatibility.
                 The version numbering has been changed for consistency with
                 Flex and Bison, so versions of flex3.0.x and bison2.x of this
                 package are are actually earlier versions, not later.
                 Examples are provided to help in getting started.
conformance:    Mostly compatible with flex2.3 and bison 1 in C, apart
                 from the ability to generate classes.
features:       Almost all symbol names can be redefined, parsers can be
                 shared in C and C++ in the same headers... very extensible...
                 flex++ support IOSTREAM and STDIO in C++.
bugs:       Contact coetmeur@icdc.fr (current author and maintainer).
restriction:    GNU License for bison++. Same as flex for flex++.
ports:     SUNOS4, DOS, and same ports as Flex/Bison, Windows NT (tested)
portability:    Larger memory model required on DOS (DOS binary supplied).
status:   active, supported, might not support flex 2.4
discussion:     coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
help:       coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
                 for substantial problems.
support:        see help, no commercial support. (volunteer ?)
announcements:  mail list locally maintained by coetmeur@icdc.fr,
                 news: comp.compiler comp.lang.c++
updated:        1994/02/07
lref:       C
lref:       C++
lref:       Lex
lref:       yacc

language:       BNF (yacc)
package:        bison-A2.3
version:        2.3 (corresponds to gnu bison 1.22)
parts:     parser generator, C-parser, C++parser, documentation
author:   Fred Hansen <wjh+@cmu.edu>
location:       ftp://ftp.andrew.cmu.edu/pub/AUIS/bison/bison-A2.2.tar.gz
                 also in contrib/andrew on the XV11R6 distribution in 
                 directories overhead/bison, overhead/mkparser (but not the 
                 C++ version of the parser)
description:    This is the standard gnu bison with a number of improvments:
                 license-free parsers for C and C++, only one external symbol
                 for each grammar, permits multiple grammars per application,
                 better error reports on the grammar.
conformance:    grammars are the same as bison and yacc; but run-time errors
                 are handled differently, so semantic rules must be changed
features:       tokens in the grammar can be expressed as ">=" instead of GE
bugs:       send bugs to info-andrew-bugs@andrew.cmu.edu
restriction:    none (unless you use the native gnu-bison parser)
ports:     has been tested on most Unix platforms
portability:    generation of names for temp files is system dependent.
discussion:     info-andrew@andrew.cmu.edu   (mirrored to comp.soft-sys.andrew)
support:        supported by the Andrew Consortium
contributions:  your organization is invited to join the Andrew Consortium
                 info-andrew-request@andrew.cmu.edu
updated:        1994/05/09

language:       BNF (yacc)
package:        ? jaccl ?
version:        ?
parts:     parser generator
author:   Dave Jones <djones@megatest.uucp>
location:       ?
description:    a LR(1) parser generator
updated:        1989/09/08

language:       BNF (yacc)
package:        byacc (Berkeley Yacc)
version:        1.9
parts:     parser generator
author:   Robert Corbett <Robert.Corbett@eng.sun.com>
location:       ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
description:    probably the best yacc variant around.       Previously known as
                 Zoo, and before that, as Zeus.
updated:        1993/02/22

language:       BNF (yacc), Lex
package:        Lex/Yacc for Turbo Pascal uploaded
version:        ?
parts:     parser generator, scanner generator, documentation?
author:   ?
location:       iecc.com (140.186.81.1) at pub/file/lyprg.zip.
description:    Lex and Yacc retargeted to Pascal.
contact:        ? dpoole@hydrogen.oscs.montana.edu (David Poole)
updated:        1993/07/02

language:       BNF (yacc), Ada
package:        aflex-ayacc
version:        1.2a
parts:     parser generator (Ada), scanner generator (Ada)
author:   IRUS (Irvine Research Unit in Software)
location:       ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
description:    Lex and Yacc equivalents that produce Ada output
announcements:  irus-software-request@ics.uci.edu
contact:        irus-software-request@ics.uci.edu
updated:        1993/01/06

language:       BNF (yacc), Perl
package:        perl-byacc
version:        1.8.2
parts:     parser-generator(perl)
author:   Rick Ohnemus <Rick_Ohnemus@Sterling.COM>
location:       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:       BNF (yacc), Standard ML
package:        New SML-Yacc and SML-Lex
version:        ??
parts:     ??
author:   Andrew Appel <appel@tyrolia.princeton.edu>
location:       princeton.edu in pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z.
description:    ??
updated:        1994/05/23

language:       BNF (variant), Icon
package:        Ibpag2 (Icon-Based Parser Generation System 2)
version:        1.2
parts:     parser generator (Icon, SLR(1))
author:   Richard L. Goerwitz <goer@midway.uchicago.edu>
location:       comp.sources.misc volume 44
description:    Ibpag2 is a parser generator for Icon.       It does most
                 of what you would expect.  Latest version can handle both
                 SLR(1) and even GLR (Tomita) grammars.
ports:     unix
portability:    ? (Unix dependencies?)
updated:        1994/09/25

language:       BNF ?, Gofer
package:        Ratatosk (?)
version:        ?
parts:     parser generatr (Gofer)
author:   Torben AEgidius Mogensen <torbenm@diku.dk>
location:       ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
description:    Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
                 that generates purely functional parsers (also in Gofer). Even
                 though the sematic value of a production is a function of the
                 attributes of its right-hand side (and thus apparently purely
                 synthesized), inherited attributes are easily simulated by
                 using higher order functions.
ports:     ?
updated:        ?

language:       BNF
package:        lalr.ss - An LALR(1) parser generator
version:        0.9 
parts:     parser generator (->Scheme)
author:   Mark Johnson <mj@cs.brown.edu>
location:       ftp new/lalr.shar from the Scheme Repository
description:    A LALR(1) parser generator in and for Scheme.
requires:       Scheme
updated:        1993/05/24

language:       BURS ?
package:        Iburg
version:        ?
parts:     parser generator?
author:   Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
                 <drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
location:       ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
description:    Iburg is a program that generates a fast tree parser.  It is
                 compatible with Burg. Both programs accept a cost-augmented
                 tree grammar and emit a C program that discovers an optimal
                 parse of trees in the language described by the grammar. They
                 have been used to construct fast optimal instruction selectors
                 for use in code generation.  Burg uses BURS; Iburg's matchers
                 do dynamic programming at compile time.
updated:        1993/02/10

language:       BNF variant, Python
package:        kwParsing ?
version:        ?
parts:     parser generator
author:   Aaron Watters <aaron@vienna.njit.edu>
location:       ftp pub/python/kwParsing.* from ftp.markv.com
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:        1994/09/24

language:       Candle, IDL (Interface Description Language)
package:        Scorpion System
version:        6.0
parts:     software development environment for developing
                 software development environments, documentation
author:   University of Arizona
location:       ftp scorpion/* from cs.arizona.edu
description:    20 tools that can be used to construct specialized
                 programming environments.
                 The Scorpion Project was started by Prof. Richard
                 Snodgrass as an outgrowth of the SoftLab Project (which pro-
                 duced the IDL Toolkit) that he started when he was at the
                 University of North Carolina.  The Scorpion Project is
                 directed by him at the University of Arizona and by Karen
                 Shannon at the University of North Carolina at Chapel Hill.
reference:      "The Interface Description Language: Definition and Use," 
                 by Richard Snodgrass, Computer Science Press, 1989,
                 ISBN 0-7167-8198-0
ports:     Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
discussion:     info-scorpion-request@cs.arizona.edu
contact:        scorpion-project@cs.arizona.edu
updated:        1993/11/04

language:       COCOL (EBNF variant)
package:        COCO/R
version:        1.39 (Modula, Pascal, Oberon)
parts:     parser generator(LL(1))
author:   Hanspeter Moessenboeck <moessenboeck@ssw.uni-linz.ac.at>
                 Port to Modula-2 done by Marc Brandis, Christof Brass 
                 and Pat Terry <cspt@cs.ru.ac.za>
                 Port to Turbo Pascal done by Pat Terry and Volker Pohlers
                 <pohlers@escher.hrz.fh-stralsund.de>
location:       ftp.inf.ethz.ch:/pub/software/Coco
                 ftp.psg.com:/pub/modula-2/coco
                 cs.ru.ac.za:/pub/coco
                 ftp.fit.qut.edu.au:/pub/coco
description:    Coco/R generates recursive descent parsers and their
                 associated scanners from attributed grammars.  Coco/R can
                 bootstrap itself to generate its own driver, parser, scanner,
                 and semantic evaluator from the attributed grammar CR.ATG.
                 This grammar thus serves as an an example of how to write
                 compiler descriptions for Coco.    There are also other simpler
                 examples showing its use.
reference:      _A compiler generator for microcomputers_, by Rechenberg 
                 and Moessenboeck (Prentice Hall, 1989, 0-13-155136-1)
bugs:       MS-DOS related versions: Pat Terry <cspt@cs.ru.ac.za>
                 Other: Hanspeter Moessenboeck 
                        <moessenboeck@ssw.uni-linz.ac.at>
requires:       Oberon, Modula-2, or Turbo Pascal
ports:     MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1 - 3.5;
                 StonyBrook QuickMod 2.2; Logitech 3.03; Turbo Pascal.
                 Macintosh: Apple MacMeth.
                 Unix/Linux/FreeBSD: Mocka, Gardens Point.
status:   Oberon version is freely available.  Modula-2 version is
                 free to academic sites; commercial use requires a license
updated:        1995/11/01

language:       COCOL (EBNF variant)
package:        Coco/R for C
version:        1.05
author:   Francisco Arzu <farzu@uvg.edu.gt>
location:       cs.ru.ac.za:/pub/coco/cocorc05.zip
description:    This is a C version of Professor Moessenboeck's Coco/R. 
                 Coco/R generates recursive descent parsers and their 
                 associated scanners from attributed grammars. Semantic
                 attributes and semantic actions are a dream compared to 
                 YACC's and Lex's ones. There are many examples showing
                 its use, including itself (it can bootstrap itself to 
                 generate its own driver, parser, scanner, and semantic
                 evaluator from the attributed grammar CR.ATG) and a 
                 simple C like language which uses Iburg to generate 
                 intel 80x86 assemble language.
parts:     parser generator(LL(1)), scanner generator, documentation,
examples
bugs:       Francisco Arzu <farzu@uvg.edu.gt>
requires:       Standard C compiler
ports:     Many UNIX systems(Linux, UnixWare, SunOS, IBM AIX, HP-UX, etc) 
                 MS-DOS and OS/2
restrictions:   Next release will be under the GNU General Public License
updated:        1995/11/01
lref:       C

language:       EAG (Extended Affix Grammar)
package:        EAG
version:        first public release
parts:     recognizer generator, transduccer generator, 
                 translator generator, editor generator, documentation
author:   Marc Seutter <marcs@cs.kun.nl>
location:       ftp pub/eag/* from hades.cs.kun.nl
description:    The Extended Affix Grammar formalism, or EAG for short, is a
                 formalism for describing both the context free and the context
                 sensitive syntax of languages.    EAG is a member of the family
                 of two-level grammars. They are very closely related to
                 two-level van Wijngaarden grammars.  The EAG compiler will
                 generate either a recognizer or a transducer or a translator
                 or a syntax directed editor for a language described in the EAG
                 formalism.
updated:        1993/09/14

language:       EBNF
package:        ETO
version:        test version
parts:     parser, postscript document, examples
author:   Lin Li <china@bernina.ethz.ch>
location:       FTP: fi.ethz.ch under /pub/ETO/eto-09.*
description:    ETO is an object oriented universal syntax checker.  It takes
                 an EBNF specification for a language and then uses it on an
                 input file to check its syntax.
updated:        1994/06/03

language:       lex
package:        flex
version:        2.5.2
parts:     scanner generator
author:   Vern Paxson <vern@ee.lbl.gov>
location:       ftp flex-2.5.2.tar.Z from a GNU archive site or ftp.ee.lbl.gov
description:    A POSIX-compliant "lex" scanner generator.
bugs:       vern@ee.lbl.gov or bug-gnu-utils@prep.ai.mit.edu
updated:        1995/04/28

language:       Regular Expressions
package:        re2c
version:        alpha
parts:     translator (re->c)
author:   ?? peter@csg.uwaterloo.ca
location:       csg.uwaterloo.ca in /pub/peter/re2c.0.5.tar.gz
description:    A regular expression to C converter.
updated:        ?? 1994/04/29

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 pub/budd/kamin/*.shar from cs.orst.edu ?
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:        1991/09/12

language:       Relation Grammar
package:        rl
version:        ?
parts:     ?
author:   Kent Wittenburg <kentw@bellcore.com>
location:       fto rl/* from flash.bellcore.com
description:    The RL files contain code for defining Relational Grammars and
                 using them in a bottom-up parser to recognize and/or parse
                 expressions in Relational Languages.  The approach is a
                 simplification of that described in Wittenburg, Weitzman, and
                 Talley (1991), Unification-Based Grammars and Tabular Parsing
                 for Graphical Languages, Journal of Visual Languages and
                 Computing 2:347-370.
                 This code is designed to support the definition and parsing of
                 Relational Languages, which are characterized as sets of
                 objects standing in user-defined relations.  Correctness and
                 completeness is independent of the order in which the input is
                 given to the parser.  Data to be parsed can be in many forms as
                 long as an interface is supported for queries and predicates
                 for the relations used in grammar productions.    To date, this
                 software has been used to parse recursive pen-based input such
                 as math expressions and flowcharts; to check for data
                 integrity and design conformance in databases; to
                 automatically generate constraints in drag-and-drop style
                 graphical interfaces; and to generate graphical displays by
                 parsing relational data and generating output code.
requires:       Common Lisp
ports:     Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
updated:        1992/10/31

language:       S/SL (Syntax Semantic Language)
package:        ssl
version:        ?
parts:     parser bytecode compiler, runtime
author:   Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language),
                 Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
location:       ftp pub/ssl.tar.Z from neat.cs.toronto.edu
description:    A better characterization is that S/SL is a language
                 explicitly designed for making efficient recusive-descent
                 parsers.  Unlike most other languages, practicially the
                 LEAST expensive thing you can do in S/SL is recur.  A
                 small language that defines input/output/error token
                 names (& values), semantic operations (which are really
                 escapes to a programming language but allow good
                 abstration in the pseudo-code), and a pseudo-code
                 program that defines a grammar by the token stream the
                 program accepts.  Alternation, control flow, and
                 1-symbol lookahead constructs are part of the
                 language.  What I call an S/SL "implementation", is a
                 program that compiles this S/SL pseudo-code into a
                 table (think byte-codes) that is interpreted by the
                 S/SL table-walker (interpreter).  I think the pseudo-code
                 language is LR(1), and that the semantic mechanisms turn it
                 into LR(N) relatively easily.
                 + more powerful and cleaner than yac
                 - slower than yacc
reference:      Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
                  Syntax/Semantic Language, Computer Systems Research
                  Institute, University of Toronto.
                 "An Introduction to S/SL: Syntax/Semantic Language" by
                  R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions
                  on Programming Languages and Systems (TOPLAS), Vol 4, No.
                 2, April 1982, Pages 149-178.
updated:        1989/09/25

language:       TXL
package:        TXL: Tree Transformation Language
version:        7.4
parts:     translator, documentation, tutorial, examples
author:   Jim Cordy <cordy@qucis.queensu.ca>
location:       ftp pub/txl/* from ftp.qucis.queensu.ca
description:    TXL is a language for performing source to source
                 transformations and is well suited for rapidly prototyping
                 new languages and language processors.    It has also been used to
                 prototype specification languages, command languages, and more
                 traditional program transformation tasks such as constant
                 folding, type inference, source optimization and reverse
                 engineering.  TXL takes as input an arbitrary context-free
                 grammar in extended BNF-like notation, and a set of
                 show-by-example transformation rules to be applied to inputs
                 parsed using the grammar.  TXL is a functional/rule-based
                 hybrid programming language, using the paradigm of structural
                 transformation.
reference:      Several listed in software documentation
updated:        1993/08/04

language:       BNF (extended)
package:        SORCERER: A Simple Tree Parser and Rewrite Generator
version:        1.00B15
parts:     translator, documentation, tutorial, examples
author:   Terence Parr <parrt@parr-research.com>, 
                 Aaron Sawdey <sawdey@lcse.umn.edu>, 
                 Gary Funck <gary@intrepid.com>
location:       ftp://ftp.parr-research.com/pub/pccts/sorcerer/
                 ftp://ftp.uu.net/languages/tools/pccts/
        UK:      ftp://src.doc.ic.ac.uk/computing/programming/languages/tools/pccts/
        Europe: ftp://ftp.th-darmstadt.de/pub/programming/languages/compiler-compiler/pccts/
description:    SORCERER is more suitable for the class of translation problems
                 lying between those solved by code-generator generators and by
                 full source-to-source translator generators.  SORCERER
                 generates simple, flexible, top-down, tree parsers that, in
                 contrast to code-generators, may execute actions at any point
                 during a tree walk.  SORCERER accepts extended BNF notation,
                 allows predicates to direct the tree walk with semantic and
                 syntactic context information, and does not rely on any
                 particular intermediate form, parser generator, or other
                 pre-existing application. Both C and C++ based tree
                 walkers can be generated. SORCERER is well integrated
                 with PCCTS (soon SORCERER will be distributed with PCCTS). 
reference:      Several listed in software documentation.
                 A book will available first quarter 1996; a pre-release 
                 version is available at the ftp site.
discussion:     Usenet newsgroup comp.compilers.tools.pccts
help:       newsgroup
support:        actively supported, from newsgroup and Parr Research 
                 Corporation <parrt@parr-research.com>.
updated:        1995/09/01

language:       Attribute Grammars
package:        The FNC-2 Attribute Grammar System
version:        1.14
parts:     FNC-2:
                   the Olga compiler and attribute evaluator generator;
                 ATC:
                   a generator of abstract tree constructors driven by 
                   bottom-up parsers, with two flavours, one on top of 
                   SYNTAX, and one on top of Lex and Yacc;
                 PPAT:
                   a generator of unparsers of attributed abstract
                   trees, based on the TeX-like notion of nested boxes 
                   of text.
author:   Martin Jourdan, Didier Parigot and students
location:       http://www-rocq.inria.fr/charme/FNC-2/index.html 
                 ftp://ftp.inria.fr/INRIA/Projects/ChLoE/FNC-2/
description:    The FNC-2 system is a modern AG-processing system that
                 aims at production-quality by providing the following 
                 qualities:
                 Efficiency:
                  The generated evaluators, based on the visit-sequence
                  paradigm, are completely deterministic; furthermore, 
                  this paradigm allows to apply very effective space 
                  optimization techniques. The evaluators are hence 
                  basically as efficient in time and space as hand-written 
                  programs using a tree as internal data structure.
                 Expressive power:
                  This efficiency is not achieved at the expense of 
                  expressive power since FNC-2 accepts AGs in the very 
                  broad class of strongly non-circular AGs.
                 Easiness of use:
                  Olga, the input language of FNC-2, enforces a high degree 
                  of programming safety, reliability and productivity.
                  It provides powerful constructions for modularity and
                  reusability. 
                  It contains the following sub-languages: 
                   attributed abstract syntaxes ASX; 
                   attribute grammars; 
                   declaration and definition modules.
                 Versatility:
                  The generated evaluators can be interfaced with many
                  other tools and produced in many variations: 
                  Several modes of attribute evaluation:
                   exhaustive; incremental; concurrent (on shared-memory 
                   multiprocessor machines).
                  Several implementation languages:
                   C (standalone);  
                   Lisp    (on top of the <A HREF="http://www-rocq.inria.fr/charme/FNC-2/centaurfnc2.html">Centaur </A> system); 
                   C/fSDL (for the <A HREF="http://www-rocq.inria.fr/charme/FNC-2/cosyfnc2.html"> CoSy </A>
compilation platform); 
                   ML (Caml). 
                 In addition, FNC-2 is the testbed for an active research team.
ports:     Unix
status:   active
contact:        <Didier.Parigot@inria.fr> or <Martin.Jourdan@inria.fr>
updated:        1995



mathematical tools and languages
-------------------------------------------------------------------------------
category:       mathematical tools and languages
description:    These are either special-purpose languages and tools, or
                 general purpose languages and tools that have traditionally
                 been used for mathematical and scientific computing task.
lref:       Fortran
lref:       PCN
lref:       CLP
lref:       SISAL 1.2

language:       APL
package:        I-APL
version:        ?
parts:     ?
author:   ?
location:       ftp languages/apl/* from watserv1.waterloo.edu
description:    ?
updated:        1992/07/06

language:       APL
package:        APLWEB
version:        ?
parts:     translator(web->apl), translator(web->TeX)
author:   Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
location:       ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
description:    [Should this be listed with the Web entries? -- Ed.]
updated:        1992/12/07

language:       APL
iref:       (APL) Tim Budd's C++ implementation of Kamin's interpreters

language:       J
package:        J-mode
version:        ?
parts:     emacs macros
author:   ?
location:       ftp pub/j/gmacs/j-interaction-mode.el from think.com
description:    add on to J
updated:        1991/03/04

language:       RLaB language (math manipulation - MATLAB-like)
package:        RLaB
version:        1.18d
parts:     interpreter, libraries, documentation
author:   Ian Searle <ians@eskimo.com>
location:       ftp pub/RLaB/* from evans.ee.adfa.oz.au
    US:   csi.jpl.nasa.gov in /pub/matlab/RLaB
description:    RLaB is a "MATLAB-like" matrix-oriented programming
                 language/toolbox.  RLaB focuses on creating a good experimental
                 environment (or laboratory) in which to do matrix math
                 Currently RLaB has numeric scalars and matrices (real and
                 complex), and string scalars, and matrices. RLaB also contains
                 a list variable type, which is a heterogeneous associative
                 array.
bugs:       Ian Searle <ians@eskimo.com>
restriction:    GNU General Public License
requires:       GNUPLOT, lib[IF]77.a (from f2c)
ports:     many unix, OS/2, Amiga
updated:        1995/03/16

language:       octave language (math manipulation - MATLAB-like)
package:        octave
version:        1.1.1
parts:     interpreter, libraries, documentation
author:   John W. Eaton
location:       ftp /pub/octave/* from ftp.che.utexas.edu
                 also, any GNU archive site (see archive listing below)
description:    Octave is a high-level language, primarily intended for
                 numerical computations.    It provides a convenient command line
                 interface for solving linear and nonlinear problems
                 numerically.
                 Octave can do arithmetic for real and complex scalars and
                 matrices, solve sets of nonlinear algebraic equations,
                 integrate functions over finite and infinite intervals, and
                 integrate systems of ordinary differential and
                 differential-algebraic equations.
bugs:       bug-octave@che.utexas.edu
restriction:    GNU General Public License
requires:       gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
ports:     several
updated:        1994/2/23

language:       FUDGIT language (math manipulation)
package:        FUDGIT
version:        2.27
parts:     interpreter
author:   Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
location:       ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
description:    FUDGIT is a double-precision multi-purpose fitting program.  It
                 can manipulate complete columns of numbers in the form of
                 vector arithmetic. FUDGIT is also an expression language
                 interpreter understanding most of C grammar except pointers.
                 Morever, FUDGIT is a front end for any plotting program
                 supporting commands from stdin. It is a nice mathematical
                 complement to GNUPLOT, for example.
requires:       GNUPLOT
ports:     AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
updated:        1993/02/22

language:       Unix BC (arbitrary-precision arithmetic language)
package:        C-BC
version:        1.1
parts:     bytecode compiler, interpreter, documentation, examples
author:   Mark Hopkins <mark@omnifest.uwm.edu>
location:       alt.sources (10/04/93), or contact author by E-mail.
description:    A strongly typed version of BC with expanded C-like syntax,
                 more base types, with ability to form array and pointer types
                 of any dimension and to allocate/free arrays at run-time.
conformance:    Most POSIX-BC features supported, except functions must be
                 declared consistently and declared before first use.  String
                 handling slightly different.
reference:      C-BC implementation notes contained with software documentation
requires:       ANSI-C compiler
ports:     DOS, Unix
portability:    No system dependent features present.
updated:        1993/08/23

language:       Unix BC (arbitrary-precision arithmetic language)
package:        GNU BC
version:        1.02
parts:     parser (yacc), interpreter, BC math library
author:   Philip A. Nelson <phil@cs.wwu.edu>
location:       ftp bc-1.02.tar.Z from a GNU archive site
description:    BC is an arbitrary precision numeric processing language with a
                 C-like syntax that traditionally provided a front-end to DC.
                 This version, however, is self-contained and internally
                 executes its own compiled code (unrelated to DC code).
conformance:    Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
restriction:    Source code falls under the GNU CopyLeft.
requires:       vsprintf and vfprintf routines
ports:     Unix (BSD, System V, MINIX, POSIX)
updated:        ?

language:       Calc?  (symbolic math calculator)
package:        Calc
version:        2.02
parts:     interpreter, emacs mode, documentation
author:   Dave Gillespie <daveg@cs.caltech.edu>
location:       ftp calc-2.02.tar.z from a GNU archive site
description:    Calc is an extensible, advanced desk calculator and
                 mathematical tool written in Emacs Lisp that runs as part of
                 GNU Emacs.  It is accompanied by the "Calc Manual", which
                 serves as both a tutorial and a reference.  If you wish, you
                 can use Calc as only a simple four-function calculator, but it
                 also provides additional features including choice of algebraic
                 or RPN (stack-based) entry, logarithms, trigonometric and
                 financial functions, arbitrary precision, complex numbers,
                 vectors, matrices, dates, times, infinities, sets, algebraic
                 simplification, differentiation, and integration.
bugs:       ?
updated:        ?

language:       C-like caluculator
package:        Arbitrary precision calculator
version:        1.26.4
parts:     interpreter
author:   David I. Bell <dbell@canb.auug.org.au>
location:       ftp pub/calc from ftp.uu.net
description:    Arbitrary precision C-like calculator [similar to BC? --ed]
ports:     Linux
updated:        1993/06/15

language:       Unix DC (arbitrary-precision arithmetic language)
package:        GNU DC
version:        0.2
parts:     interpreter
author:   ?
location:       ftp dc-0.2.tar.Z from a GNU archive site
description:    DC is the language for an arbitrary precision postfix
                 calculator.  This version is a subset of DC that handles all
                 the Unix DC operations, except the (undocumented) array
                 operations.
status:   Attempting integration with GNU BC.
updated:        1993/05/21

language:       Fortran
package:        f2c
version:        1993.04.28
parts:     translator (to C), postscript documentation, man pages,
                 support libraries.
author:   S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
location:       ftp from netlib@netlib.att.com:netlib/f2c/src/*
description:    translator (Fortran 77 to ANSI C or C++)
bugs:       D. M. Gay <dmg@research.att.com>
updated:        1993 April 27

language:       GNU Fortran
package:        g77
version:        0.5.17
parts:     compiler, documentation, libraries.
author:   Craig Burley <burley@gnu.ai.mit.edu>
location:       ftp g77-0.5.17.tar.gz from any GNU site
description:    GNU Fortran is a free replacement for the UNIX f77
                 Fortran compiler, and is currently in beta testing.  
requires:       To build it requires the GNU CC source distribution, 
                 Version 2.6.3 through 2.7.
bugs:       <fortran@gnu.ai.mit.edu>
updated:        1995/11/22

language:       Fortran
package:        Floppy
version:        ?
parts:     ?
author:   ?
location:       ffccc in comp.sources.misc archive volume 12
description:    ?
contact:        ?
updated:        1992/08/04

language:       Fortran
package:        Flow
version:        ?
parts:     ?
author:   Julian James Bunn <julian@vxcrna.cxern.ch>
location:       comp.sources.misc archive volume 31
description:    The Flow program is a companion to Floppy, it allows the user
                 to produce various reports on the structure of Fortran
                 77 code, such as flow diagrams and common block tables.
requires:       Floppy
ports:     VMS, Unix, CMS
updated:        ?

language:       Fortran (HPF)
package:        Adaptor (Automatic DAta Parallelism TranslatOR)
version:        3.0
parts:     preprocessor, library, documentation
author:   ?
location:       ftp://ftp.gmd.de/GMD/adaptor/adp_3.0.tar.gz
description:    Adaptor is a tool that transforms data parallel
                 programs written in Fortran with array extensions,
                 parallel loops, and  layout directives    to parallel
                 programs with explicit message passing.
                 ADAPTOR is not a compiler but a source to source
                 transformation that generates Fortran 77 host and
                 node programs with message passing.  The new
                 generated source codes have to be compiled by the
                 compiler of the parallel machine.
reference:      http://www.gmd.de/SCAI/lab/adaptor/adaptor_home.html
ports:     CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
                 network of Suns, or RS/6000s
contact:        Thomas Brandes <brandes@gmd.de>
updated:        1995/06

language:       Fortran, C
package:        cfortran.h
version:        2.6
parts:     macros, documentation, examples
author:   Burkhard Burow
location:       ftp cfortran/* from zebra.desy.de
description:    cfortran.h is an easy-to-use powerful bridge between
                 C and FORTRAN. It provides a completely transparent, machine
                 independent interface between C and FORTRAN routines and
                 global data.
                 cfortran.h provides macros which allow the C preprocessor to
                 translate a simple description of a C (Fortran) routine or
                 global data into a Fortran (C) interface.
reference:      reviewed in RS/Magazine November 1992 and
                 a user's experiences with cfortran.h are to be described
                 in the 1/93 issue of Computers in Physics.
ports:     VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
                 Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
portability:    high
contact:        burow@vxdesy.cern.ch
updated:        1992/04/12

language:       Fortran
package:        fsplit
version:        ?
parts:     ?
author:   ?
location:       ?
description:    a tool to split up monolithic fortran programs
updated:        ?

language:       Fortran
package:        ?
version:        ?
parts:     ?
author:   Steve Mccrea <mccrea@gdwest.gd.com>
location:       ?
description:    a tool to split up monolithic fortran programs
requires:       new awk
updated:        ?

language:       Fortran
package:        Fortran77 -> Fortran90 converter
version:        ? 1
parts:     translator(Fortran 77 -> Fortran 90), documentation?
author:   metcalf@cernvm.cern.ch <Michael Metcalf>
location:       ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
description:    A Fortran77 to Fortran90 translator.  There's a number of
                 significant differences between the two Fortrans that makes
                 a package like this useful.
updated:        1993/07/17

language:       Fortran
package:        F-curses
version:        ?
parts:     library
author:   Wade Schauer <sal!wade@sactoh0.sac.ca.us>
location:       comp.sources.misc volume 44
description:    F-curses (C) is a library of Fortran and C routines that gives
                 Fortran programmers tranparent access to the curses library (a
                 C library).
restriction:    shareware
ports:     UNIX, MS-DOS
updated:        1994/10/10

language:       Fortran
iref:       (Fortran) Stanford SUIF Compiler

language:       Fortran
package:        ?
version:        ?
parts:     semantic analyser
author:   ?
location:       http://www.nag.co.uk:70/
description:    Fortran 90 semantic analyser
updated:        ?

language:       J
package:        J from ISI
version:        6
parts:     interpreter, tutorial
author:   Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
location:       ftp languages/apl/j/* from watserv1.waterloo.edu
description:    J was designed and developed by Ken Iverson and Roger Hui.  It
                 is similar to the language APL, departing from APL in using
                 using the ASCII alphabet exclusively, but employing a spelling
                 scheme that retains the advantages of the special alphabet
                 required by APL. It has added features and control structures
                 that extend its power beyond standard APL.  Although it can be
                 used as a conventional procedural programming language, it can
                 also be used as a pure functional programming language.
ports:     Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
                 IBM-PC, Atari, 3b1, Amiga
updated:        1992/10/31

language:       Ratfor
package:        ? ratfor ?
version:        ?
parts:     translator(Ratfor->Fortran IV)
author:   Brian Kernighan and P.J. Plauger (wrote the book anyway)
location:       comp.sources.unix archives volume 13
description:    Ratfor is a front end language for Fortran.  It was designed
                 to give structured control structures to Fortran.  It is
                 mainly of historical significance.
updated:        ?

language:       Y (cross between C and Ratfor)
package:        y+po
version:        ?
parts:     compiler
author:   Jack W. Davidson and Christopher W. Fraser
location:       ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
description:    Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
                 idea and other optimization ideas came from] along with the Y
                 compiler [cross between C+ratfor] is ftpable from
                 ftp.cs.princeton.edu: /pub/y+po.tar.Z.    It is a copy of the
                 original distribution from the University of Arizona during the
                 early 80's, totally unsupported, almost forgotten [do not bug
                 the authors] old code, possibly of interest to
                 compiler/language hackers.
reference:      Jack W. Davidson and Christopher W. Fraser, "The Design and
                  Application of a Retargetable Peephole Optimizer", TOPLAS, 
                  Apr.  1980.
                 Jack W. Davidson, "Simplifying Code Through Peephole
                  Optimization" Technical Report TR81-19, The University of
                  Arizona, Tucson, AZ, 1981.
                 Jack W. Davidson and Christopher W. Fraser, "Register
                  Allocation and Exhaustive Peephole Optimization"
                  Software-Practice and Experience, Sep. 1984.
status:   history
updated:        ?

electrical engineering languages
-------------------------------------------------------------------------------
category:       electrical engineering languages
description:    These are languages used for simulating, designing, and
                 specifying circuits.

language:       CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
package:        Ptolemy
version:        0.5.2
parts:     grahpical algorithm layout, code generator, simulator
author:   ?
location:       ftp://ptolemy.eecs.berkeley.edu/pub/ptolemy/ptolemy0.5.2/
description:    Ptolemy provides a highly flexible foundation for the
                 specification, simulation, and rapid prototyping of systems.
                 It is an object oriented framework within which diverse models
                 of computation can co-exist and interact.  For example, using
                 Ptolemy a data-flow system can be easily connected to a
                 hardware simulator which in turn may be connected to a
                 discrete-event system, etc.  Because of this, Ptolemy can be
                 used to model entire systems.
                 In addition, Ptolemy now has code generation capabilities.
                 from a flow graph description, Ptolemy can generate both C code
                 and DSP assembly code for rapid prototyping.  Note that code
                 generation is not yet complete, and is included in the current
                 release for demonstration purposes only.
requires:       C++, C
ports:     Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
status:   active research project
discussion:     ptolemy-hackers-request@ohm.berkeley.edu
contact:        ptolemy@ohm.berkeley.edu
updated:        1995/05/28

language:       EDIF (Electronic Design Interchange Format)
package:        Berkeley EDIF200
version:        7.6
parts:     translator-building toolkit
author:   Wendell C. Baker and Prof A. Richard Newton of the Electronics
                 Research Laboratory, Department of Electrical Engineering and
                 Computer Sciences at the University of California, Berkeley, CA
location:       ftp from pub/edif in ic.berkeley.edu
description:    ?
restriction:    no-profit w/o permission
ports:     ?
updated:        1990/07

language:       Verilog, XNF
package:        XNF to Verilog Translator
version:        ?
parts:     translator(XNF->Verilog)
author:   M J Colley <martin@essex.ac.uk>
location:       ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
description:    This program was written by a postgraduate student as part
                 of his M.Sc course, it was designed to form part a larger
                 system operating with the Cadence Edge 2.1 framework. This
                 should be born in mind when considering the construction
                 and/or operation of the program.
updated:        ?

language:       VHDL
package:        ALLIANCE
version:        1.1
parts:     compiler, simulator, tools and environment, documentation
author:   ?
location:       ftp://ftp.ibp.fr/ibp/softs/masi/alliance/
description:    ALLIANCE 1.1 is a complete set of CAD tools for teaching
                 Digital CMOS VLSI Design in Universities. It includes VHDL
                 compiler and simulator, logic synthesis tools, automatic place
                 and route, etc...  ALLIANCE is the result of a ten years effort
                 at University Pierre et Marie Curie (PARIS VI, France).
ports:     Sun4, also not well supported: Mips/Ultrix, 386/SystemV
discussion:     alliance-request@masi.ibp.fr
contact:        cao-vlsi@masi.ibp.fr
updated:        1993/02/16

language:       VHDL
package:        VHDL Object Model (VOM)
version:        1.0
parts:     parser
author:   David Benz <dbenz@thor.ece.uc.edu> and 
                 Phillip Baraona <pbaraona@thor.ece.uc.edu>
location:       ftp pub/vhdl/tools/vhdl-object-model.tar.g from thor.ece.uc.edu
description:    VOM 1.0 is an object-oriented syntactic specification for VHDL
                 written using the REFINE software design and synthesis
                 environment.  In simpler terms, it is a VHDL parser which builds 
                 an object tree from VHDL source code.
                 If you are interested in transforming VHDL into some other form
                 (source code, whatever) you might be interested in this. The
                 parse tree (in the form of an object tree) is provided, you would 
                 just need to add your own transformations.
                 VOM isn't complete. The semantic information is not included
                 (type checking, certain syntactic-rules, etc.). VOM 1.0 should
                 parse most VHDL programs.  However, it will not detect errors
                 such as a wait statement in a process statement with an
                 explicit sensitivity list.
updated:        1994/11/01

--
Send compilers articles to compilers@iecc.com,
meta-mail to compilers-request@iecc.com.

----------------------------------------------------------------------

Path: news1.ucsd.edu!ihnp4.ucsd.edu!swrinde!cs.utexas.edu!howland.reston.ans.net!vixen.cso.uiuc.edu!newsfeed.internetmci.com!in3.uu.net!ivan.iecc.com!ivan.iecc.com!not-for-mail
From: free-compilers@idiom.com (Steven Robenalt)
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Subject: Catalog of compilers, interpreters, and other language tools [p5of5]
Supersedes: <free5-Jul-96@comp.compilers>
Followup-To: comp.lang.misc
Date: 1 Aug 1996 07:00:13 -0400
Organization: Idiom Consulting / Berkeley, CA
Lines: 1796
Sender: johnl@iecc.com
Approved: compilers@iecc.com
Expires: 1 Sep 96 23:59:00 GMT
Message-ID: <free5-Aug-96@comp.compilers>
References: <free4-Aug-96@comp.compilers>
Reply-To: free-compilers@idiom.com (Steven Robenalt)
NNTP-Posting-Host: ivan.iecc.com
Summary: Monthly posting of free language tools that include source code
Keywords: tools, FTP, administrivia
Xref: news1.ucsd.edu comp.compilers:7655 comp.lang.misc:13947 comp.archives.admin:1261 news.answers:63345 comp.answers:15858

Archive-name: compilers/free/part5
Last-modified: 1996/04/01
Version: 9.0

Wirth family languages
------------------------------------------------------------------------------
category:       Wirth family languages
description:    These are the languages that were either designed by Niklaus
                 Wirth or are descended from them.  
lref:       IFP

language:       CLU
iref:       (CLU) Tim Budd's C++ implementation of Kamin's interpreters

language:       Modula-2, Pascal
package:        m2
version:        ? 7/2/92 ?
parts:     ? compiler ?
author:   Michael L. Powell.  See description below.
location:       ftp pub/DEC/Modula-2/m2.tar.Z from gatekeeper.dec.com
description:    A modula-2 compiler for VAX and MIPS.  A Pascal
                 compiler for VAX is also included.  The Pascal compiler
                 accepts a language that is almost identical to Berkeley
                 Pascal.    It was originally designed and built by Michael L.
                 Powell, in 1984.  Joel McCormack made it faster, fixed lots of
                 bugs, and swiped/wrote a User's Manual.    Len Lattanzi ported it
                 to the MIPS.
conformance:    extensions:  
                 + foreign function and data interface
                 + dynamic array variables
                 + subarray parameters
                 + multi-dimensional open array parameters
                 + inline proceedures
                 + longfloat type
                 + type-checked interface to C library I/O routines
restriction:    must pass changes back to Digital
ports:     vax (ultrix, bsd), mips (ultrix)
contact:        modula-2@decwrl.pa.dec.com
updated:        1992/07/06

language:       Modula-2
package:        Ulm's Modula-2 System
version:        2.2.1
parts:     compiler, library, tools
author:   Andreas Borchert <borchert@mathematik.uni-ulm.de>
                 compiler derived from the ETHZ compiler for the Lilith system
location:       ftp pub/soft/modula/ulm/sun3/modula-2.2.1.tar.Z from
                 titania.mathematik.uni-ulm.de.    Please get the READ_ME too.
description:    ?
conformance:    PIM3
restriction:    commercial use requires licence;
                 compiler sources available by separate licence agreement
                 (licence fee is not required if it is possible to
                 transfer the sources across the network)
requires:       gas-1.36 (to be found in the same directory)
ports:     Sun3, Nixdorf Targon/31, Concurrent 3200 Series
contact:        Andreas Borchert <borchert@mathematik.uni-ulm.de>
updated:        1992/03/02 

language:       Modula-2
package:        mtc
version:        9209
parts:     translator(->C)
author:   Matthias Martin, Josef Grosch <grosch@cocolab.sub.com>
location:       ftp /gmd/cocktail/{mtc,reuse}.tar.Z from ftp.gmd.de        
                 ftp /pub/unix/programming/compilerbau/{mtc,reuse}.tar.Z 
                 from ftp.rus.uni-stuttgart.de
                 ftp /pub/programming/languages/compiler-compiler/cocktail/{mtc,reuse}.tar.Z
                 from ftp.th-darmstadt.de     
                 ftp /languages/tools/gmd/{mtc,reuse}.tar.Z 
                 from src.doc.ic.ac.uk          
                 ftp /.3/plan/gmd/{mtc,reuse}.tar.Z from gatekeeper.dec.com    
description:    A Modula-2 to C translator
ports:     Unix, Linux, MS-DOS, MS-Windows, OS/2
contact:        Josef Grosch <grosch@cocolab.sub.com>
updated:        1992/10/01

language:       Modula-2
package:        mocka
version:        9404
parts:     compiler, library, examples, docs
author:   ? Holger Hopp <hopp@ira.uka.de>
location:       ftp /pub/mocka/linux/mocka9404* from i44.s10.ira.uka.de 
                 or ftp /pub/Linux/devel/modula-2/mocka9404* 
                           from sunsite.unc.edu
description:    A free version of a Modula-2 compiler for the Intel X86
                 under Linux or 386BSD (and derivatives?). Source code
                 in Modula-2 is available.
ports:     Linux and 386BSD (also commercial versions)
updated:        1994/04/29

language:       Modula-2* (parallel extension)
package:        IPD Modula-2* Programming Environment
version:        9401
parts:     translator (->C), debugger (SUN4 only), X Windows
                 user panel, automatic cross-architecture make,
                 sequential and parallel libraries, examples, documentation
author:   IPD Modula-2* team <msc@ira.uka.de> consisting of the
                 following kernel contributors:
                    Thomas Gauweiler, Stefan U. Haenssgen, Ernst A. Heinz,
                    Paul Lukowicz, Hendrik Mager, Michael Philippsen.
location:       ftp.ira.uka.de (129.13.10.90) in pub/programming/modula2star/
description:    Modula-2* is an extension of Modula-2 for highly parallel,
                 portable programs.  IPD Modula-2* is provided freely for
                 research, educational and classroom use.  A complete sequential
                 Modula-2 environment in provided complemented with a set of
                 parallel libraries, which even include routines for
                 implementing low-level parallel operations.  The employment of
                 of C translator allows increased accessibility to actual
                 parallel machines (many have nothing lower-level than C), at
                 the expense of Modula-2 features of arrays bounds checking
                 and symbolic debugging at the Modula-2* level.
                 [An interpreter could be written with functionality subsuming
                  that of a symbolic debugger. -- Mark]
conformance:    PIM but not ISO compliant
reference:      J.R. Smith. "The design and analysis of parallel
                   algorithms. Chapter 3: Modula-2*." Oxford University
                   Press, December 1992.
                 M. Philippsen, E.A. Heinz, and P. Lukowicz. "Compiling
                   machine-independent parallel programs." ACM SIGPLAN
                   Notices, v. 28, no. 8, pp. 99-108, August 1993.
                 M. Philippsen, T.M. Warschko, W.F. Tichy, C.G. Herter,
                   E.A. Heinz, and P. Lukowicz.     "Project Triton: Towards
                   improved programmability of parallel computers." In
                   D.J. Lija and P.L. Bird (eds), The Interaction of
                   Compilation Technology and Computer Architecture, Kluwer
                   Academic Publishers, 1994.
                 Others available from i41s10.ira.uka.de (129.13.13.110)
                 in pub/m2s/*.ps
ports:     386 and above with BSDI/386 or Linux (sequential),
                 KSR-1/KSR-2 with KSR-OS (sequential and parallel),
                 DECStation (R3000/R4000) with Ultrix (sequential),
                    MP-1/MP-2 (DECStation frontend) with MP-Ultrix (parallel)
                 SUN (Sun-3, Sun-4 SPARCStation) with SunOS (sequential),
portability:    sources are for GMD Mocka Modula-2 compiler
status:   supported
updated:        ???

language:       Modula-2, Modula-3
package:        m2tom3
version:        2.00
parts:     Translator (Modula-2->Modula-3), 
                 Modula-2 standard library emulation
author:   Peter Klein <pk@i3.informatik.rwth-aachen.de>
location:       ftp://ftp-i3.informatik.rwth-aachen.de/pub/Modula-3-Contrib/m2tom3/m2tom3-2.00.tar.gz
description:    m2tom3 is a system to port Modula-2 programs to Modula-3. 
                 It consists of two parts:
                 1) A conversion program which tries to create a Modula-3 
                 source text with the same semantics as the Modula-2 input 
                 while retaining the original look and feel as good as possible.
                 2) A base library which tries to emulate the Modula-2 standard
                 library using the Modula-3 standard library.
                 This version performs a wide range of conversions including 
                 WITH-statements, variant RECORDS, qualification of enumeration
                 type literals etc.
                 For a detailed description, see the enclosed README file.
requires:       DEC SRC Modula-3 release 3.3
help:       <pk@i3.informatik.rwth-aachen.de>
announcements:  comp.lang.modula2, comp.lang.modula3
contact:        <pk@i3.informatik.rwth-aachen.de>
updated:        1994/11/30

language:       pm2
package:        PRAM emulator and parallel modula-2 compiler ??
version:        ?
parts:     compiler, emulator
author:   ?
location:       ftp pub/pram/* from cs.joensuu.fi
description:    A software emulator for parallel random access machine (PRAM)
                 and a parallel modula-2 compiler for the emulator.  A PRAM
                 consists of P processors, an unbounded shared memory, and a
                 common clock. Each processor is a random access machine (RAM)
                 consisting of R registers, a program counter, and a read-only
                 signature register. Each RAM has an identical program, but the
                 RAMs can branch to different parts of the program. The RAMs
                 execute the program synchronously one instruction in one clock
                 cycle.
                 pm2 programming language is Modula-2/Pascal mixture having
                 extensions for parallel execution in a PRAM. Parallelism is
                 expressed by pardo-loop- structure. Additional features include
                 privat/shared variables, two synchronization strategies, load
                 balancing and parallel dynamic memory allocation.
contact:        Simo Juvaste <sjuva@cs.joensuu.fi>
updated:        1993/02/17

language:       Modula-3
package:        SRC Modula-3
version:        3.5
parts:     compiler(->C), runtime library, documentation
author:   DEC Systems Research Center <m3-request@src.dec.com>
                 LINUX version compiled by Michel Dagenais
location:       ftp pub/DEC/Modula-3/release-3.5/*.tar.gz
                    from gatekeeper.dec.com
    MSDOS:      ftp pub/DEC/Modula-3/contrib/m3pc* from gatekeeper.dec.com
    Linux:      ftp.vlsi.polymtl.ca in pub/m3/linux (binaries only)
description:    The goal of Modula-3 is to be as simple and safe as it
                 can be while meeting the needs of modern systems
                 programmers.  Instead of exploring new features, we
                 studied the features of the Modula family of languages
                 that have proven themselves in practice and tried to
                 simplify them into a harmonious language.  We found
                 that most of the successful features were aimed at one
                 of two main goals: greater robustness, and a simpler,
                 more systematic type system.  Modula-3 retains one of
                 Modula-2's most successful features, the provision for
                 explicit interfaces between modules.  It adds objects
                 and classes, exception handling, garbage collection,
                 lightweight processes (or threads), and the isolation
                 of unsafe features.
conformance:    implements the language defined in SPwM3.
requires:       gcc, preferrably X11
ports:     i386/AIX 68020/DomainOS Acorn/RISCiX MIPS/Ultrix 68020/HP-UX
                 RS6000/AIX IBMRT/4.3 68000/NextStep i860/SVR4 SPARC/SunOS
                 68020/SunOS sun386/SunOS Multimax/4.3 VAX/Ultrix
discussion:     comp.lang.modula3
contact:        Bill Kalsow <kalsow@src.dec.com>
updated:        1994/07/09

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 pub/oberon/tools/o2lexyac.tar.Z from ftp.psg.com
                 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 Oberon/Docu/Oberon2.Report.ps.Z from neptune.inf.ethz.ch
restriction:    Portions of the source under copyright by U. Manchester.
status:   un-officially supported
updated:        1992/07/06

language:       Oberon
package:        Ceres workstation Oberon System
version:        ?
parts:     compiler
author:   ?
location:       ftp Oberon/? from neptune.ethz.ch
description:    file format is Oberon, binary header
status:   The sources to the various _full_ implementations are indeed
                 not available but the source to most of the complete Ceres
                 workstation Oberon System, including NS32032 code generator but
                 less low level system specific is available. This includes the
                 complete Oberon compiler written in Oberon.
updated:        ?

language:       Oberon
package:        Ulm's Oberon System
version:        0.4
parts:     compiler, tools, library, documentation
author:   Andreas Borchert <borchert@mathematik.uni-ulm.de>
location:       ftp pub/soft/oberon/ulm/sun3/oberon-0.4.tar.gz from
                 titania.mathematik.uni-ulm.de.
description:    In comparison to the Oberon Systems of ETH Zurich this system
                 may be used like other traditional language systems (e.g. cc).
                 It consists of a compiler, a makefile generator, a debugger,
                 and a large library which has a system-independent kernel that
                 supports exception handling, concurrency, synchronization,
                 persistence, and distributed systems. The package contains a
                 copying garbage collector.  The compiler is written in
                 Modula-2, the debugger in C, all other parts are written in
                 Oberon.
conformance:    N. Wirth, ``The Programming Language Oberon'',
                 SP&E July 1988 with some selective adaptions of later
                 revisions. The compiler still requires the separation of
                 definitions & modules like Modula-2.
restriction:    The compiler and associated tools fall under the GNU CopyLeft,
                 and the library under the GNU library general public license.
ports:     Sun3/SunOS 4.1.1, Nixdorf Targon/31
status:   Active -- will be ported to SPARC/Solaris 2.x
announcements:  New releases will be announced in comp.lang.oberon.
updated:        1994/07/20

language:       Oberon-2
package:        o2c
version:        1.4
author:   Michael van Acken <oberon1@informatik.uni-kl.de>
                 Juergen Zimmermann <jnzimmer@informatik.uni-kl.de>
location:       ftp://ftp.uni-kl.de/pub/informatik/software/o2c-1.4.tar.gz
description:    o2c is an Oberon-2 compiler that translates into the C
                 dialect accepted by the GNU C compiler (version 2.5.8 or 
                 above).    The compiler provides it's own make facility.
                 The package includes a symbol file browser and a 
                 GNU Emacs mode that allows to use Emacs as a comfortable
                 programming environment for the compiler.
                 o2c is known to run on several 32bit UNIX-plattforms.
                 It comes with full source-code.
conformance:    The programming language Oberon-2, Oct. 93, ETH Zuerich
restriction:    GNU General Public License
ports:     UNIX, tested on [GNU-cannonical name/GCC version]
                 hppa1.1-hp-hpux/2.5.8
                 sparc-sun-sunos4.1.3/2.5.8
                 sparc-sun-sunos4.1.3_U1/2.6.2
                 iX86-unknown-linux/2.5.8
                 iX86-unknown-linux/2.6.3
contact:        oberon1@informatik.uni-kl.de
updated:        1995/05/04

language:       Oberon-2
package:        Jacob
version:        0
parts:     compiler, library, documentation, examples
author:   Max Spring <sepp@cs.tu-berlin.de>, Ralf Bauer <nathan@cs.tu-berlin.de>
location:       ftp /pub/Linux/devel/lang/oberon/jacob-v0* from sunsite.unc.edu
                 ftp /pub/linux/Local/compilers/oberon/jacob-v0* from ftp.cs.tu-berlin.de
description:    Jacob compiles Oberon-2 to 386 GNU Assembler code.
conformance:    Oberon-2 as defined in "The Programming Language Oberon-2"
                 from H.Moessenboeck, N. Wirth, March 1995
reference:      "Read Me" http://www.cs.tu-berlin.de/~sepp/jacob/jacob.html
                 "The Programming Language Oberon-2" ftp://ftp.inf.ethz.ch/pub/Oberon/Docu/Oberon2.Report.ps.gz
features:       + automatic storage reclamation (garbage collection)
                 + FOREIGN modules for accessing third party libraries
                 + verbose run-time error messages
bugs:       report bugs to sepp@cs.tu-berlin.de
restriction:    none
requires:       GNU assembler
ports:     Linux (386)
status:   First public release
discussion:     comp.lang.oberon
help:       contact the authors
contact:        Max Spring <sepp@cs.tu-berlin.de>
updated:        1995/09/12

language:       Parallaxis
package:        parallaxis
version:        Parallaxis-III
parts:     ?,debugger, viz tools, simulator, x-based profiler
author:   Thomas Braunl <braunl@informatik.uni-stuttgart.de>
location:       ftp://ftp.informatik.uni-stuttgart.de/pub/p3
                 http://www.informatik.uni-stuttgart.de/ipvr/bv/p3
description:    Parallaxis is a procedural programming language based
                 on Modula-2, but extended for data parallel (SIMD) programming.
                 The main approach for machine independent parallel programming 
                 is to include a description of the virtual parallel machine 
                 with each parallel algorithm.
ports:     MP-1, CM-2, Sun-3, Sun-4, DECstation, HP 700, RS/6000
contact:        ? Thomas Braunl <braunl@informatik.uni-stuttgart.de> ?
updated:        1992/10/23

language:       Pascal
package:        p2c
version:        1.20
parts:     translator(Pascal->C)
author:   Dave Gillespie <daveg@synaptics.com>
location:       ftp ? from csvax.cs.caltech.edu
description:    ?
conformance:    supports ANSI/ISO standard Pascal as well as substantial 
                 subsets of HP, Turbo, VAX, and many other Pascal dialects.
ports:     ?
updated:        1990/04/13

language:       Pascal
package:        Pascal P4 compiler and interpreter
version:        ? 1
parts:     compiler, assembler/interpreter, documentation
author:   Urs Ammann, Kesav Nori, Christian Jacobi
location:       ftp /pub/pascal/* from ftp.cwi.nl
                 or http://www.cwi.nl/~steven/pascal.html
description:    A compiler for Pascal written in Pascal, producing an
                 intermediate code, with an assembler and interpreter
                 for the code.
reference:      Pascal Implementation, by Steven Pemberton and Martin
                 Daniels, published by Ellis Horwood, Chichester, UK
                 (an imprint of Prentice Hall), ISBN: 0-13-653-0311.
                 Also available in Japanese.
contact:        <Steven.Pemberton@cwi.nl>
updated:        1993/07/05

language:       Pascal
package:        ? iso_pascal ?
version:        ?
parts:     scanner(lex), parser(yacc)
author:   ?
location:       comp.sources.unix archive volume 13
description:    ?
updated:        ?

language:       Pascal
package:        pasos2
version:        Alpha
parts:     Compiler, run-time library
author:   Willem Jan Withagen <wjw@eb.ele.tue.nl>
location:       ftp pub/src/pascal/pasos2* from ftp.eb.ele.tue.nl
description:    a PASCAL/i386 compiler which generates 
                 code for OS/2 and DOS. It uses EMX as DOS extender and
                 GNU/GAS,  MASM or TASM as assembler.
updated:        1993/12/17

language:       Pascal
package:        ptc
version:        ?
parts:     translator(Pascal->C)
author:   ?
location:       ftp languages/ptc from uxc.sco.uiuc.edu ?  (use archie?)
description:    ?
contact:        ?
updated:        ?

language:       Turbo Pascal, Turbo C
package:        tptc
version:        ?
parts:     translator(Turbo Pascal->Turbo C)
author:   ?
location:       ftp mirrors/msdos/turbopas/tptc17*.zip from wuarchive.wustl.edu
description:    (It does come with full source and a student recently used it
                 as a start for a language that included stacks and queues as a
                 built-in data type.
contact:        ?
updated:        ?

language:       Pascal
package:        QCK 
version:        2.0 
parts:     compiler(written in ANSI-C), library, assembler, 
                 linker etc.
author:   Henrik Quintel <quintel@nibelung.Worms.Fh-Rpl.DE>
location:       Server    : top.cs.vu.nl  
                 Directory :/pub/minix/pascal/
description:    Supports standard pascal with a few exceptions
                 (set of.. , packed arrays, packed records,
                 procedures/functions as parameters)
features:       Read the README file
bugs:       Cos, tan, sin.... does not work right !
requires:       PC-Minix 1.6.25 1.6.30 1.7.0
help:       <quintel@nibelung.Worms.Fh-Rpl.DE>
support:        <quintel@nibelung.Worms.Fh-Rpl.DE>
Announcements:  comp.os.minix, comp.compilers
contact:        <quintel@nibelung.Worms.Fh-Rpl.DE>
updated:        1995/01/09

language:       Pascal-Debugger
package:        QCK
version:        1.0
parts:     Debugger/Interpreter(written in ANSI-C)
author:   Henrik Quintel <quintel@nibelung.Worms.Fh-Rpl.DE>
location:       Server    : top.cs.vu.nl  
                 Directory :/pub/minix/pascal/
description:    Supports standard pascal with a few exceptions
                 (set of.. , packed arrays, packed records,
                 procedures/functions as parameters)
features:       Read the README file
bugs:       Cos, tan, sin.... does not work right !
requires:       PC-Minix 1.6.25 1.6.30 1.7.0
help:       <quintel@nibelung.Worms.Fh-Rpl.DE>
support:        <quintel@nibelung.Worms.Fh-Rpl.DE>
announcements:  comp.os.minix, comp.compilers
contact:        <quintel@nibelung.Worms.Fh-Rpl.DE>
updated:        1995/01/09

language:       Pascal
iref:       (Pascal) Tim Budd's C++ implementation of Kamin's interpreters

assemblers
-------------------------------------------------------------------------------
category:       assemblers

language:       various assembly
package:        GNU assembler (GAS)
version:        2.5.2
parts:     assembler, documentation
author:   ?
location:       ftp binutils-*.tar.z from a GNU archive site
description:    Many CPU types are now handled, and COFF and IEEE-695 formats
                 are supported as well as standard a.out.
bugs:       bug-gnu-utils@prep.ai.mit.edu
ports:     Sun-3, Sun-4, i386/{386BSD, BSD/386, Linux, PS/2-AIX},
                 VAX/{Ultrix,BSD,VMS}
updated:        1994/11/02

language:       various assembly
package:        fas: Frankenstein Cross Assemblers
version:        ?
parts:     base assembler, parser modules (yacc), documentation?
author:   Mark Zenier
location:       ftp.njit.edu:/pub/msdos/frankasm/frankasm.zoo
                 [Inform me of the other sites -Mark]
description:    A reconfigurable assembler package, especially suited for
                 8-bit processors, consisting of a base assembler module and
                 a yacc parser, for each microprocessor, to handle mnemonics and
                 addressing.  Second party parser modules available from many
                 sites.
requires:       YACC
updated:        ?

language:       6502, Z80, 8085, 68xx
package:        ?
version:        ?
parts:     ?
author:   msmakela@cc.helsinki.fi and Alan R. Baldwin
location:       ftp ? from ccosun.caltech.edu
description:    I have enhanced a set of 68xx and Z80 and 8085 cross assemblers
                 to support 6502. These assemblers run on MS-DOS computers or on
                 any systems that support standard Kerninghan & Richie C, for
                 example, Amiga, Atari ST and any "big" machines
updated:        1993/03/10

language:       6502, 6800, and 16 and 32 bit machine-independent skeletons
package:        ?
version:        ?
parts:     assembler, manual
author:   Doug Jones <jones@cs.uiowa.edu>
location:       http://www.cs.uiowa.edu/~jones/cross/
                 ftp.cs.uiowa.edu:/pub/jones/smal
description:    Supports macro and conditional features, even, as well as
                 being usable for linkage editing of object files.  Easy
                 to modify to support other machines.
requires:       Pascal
updated:        ?

language:       65xx assembler
package:        d65 disassembler
version:        0.1.0
parts:     disassembler, documentation
author:   Marko.Makela@Helsinki.FIo
location:       ftp.funet.fi in /pub/cbm/programming/d65-0.1.0.tar.gz.
description:    A disassembler for the 65xx microprocessor.
ports:     Unix
updated:        1994/06/15

language:       mc6809
package:        usim
version:        0.90
parts:     simulator, documentation
author:   Ray P. Bellis <rpb@psy.ox.ac.uk>
location:       ftp /pub/mc6809/usim-* from ftp.mrc-bbc.ox.ac.uk
                 Alt.sources archive at FTP site:
                    wuarchive.wustl.edu in usenet/alt.sources/articles
                    files 10405.Z 10406.Z and 10407.Z
description:    a mc6809 simulator
updated:        1994/05/30

language:       mc6809
package:        6809, E-Forth
version:        ?
parts:     assembler, simulator
author:   Lennart Benschop <lennart@blade.stack.urc.tue.nl>
location:       alt.sources, 1993/11/03 <2b8i2r$j0e@tuegate.tue.nl>
description:    An assembler and simulator for the Motorola M6809 processor.
                 Also included is a Forth interpreter, E-Forth written
                 in 6809.
ports:     assembler: Unix, DOS; simulator: Unix
updated:        1993/11/03

language:       68HC11
package:        68HC11 simulator
version:        ? 1
parts:     simulator
author:   Ted Dunning <ted@nmsu.edu>
location:       ftp pub/non-lexical/6811/sim6811.shar from crl.nmsu.edu
description:    An opcode simulator for the 68HC11 processor.  Interrupts,
                 hardware I/O, and half carries are still outside the loop.
                 [Adding interrupts may require simulating at the clock phase
                 level -Mark]
ports:     unix?, ms-dos
updated:        1993/07/28

language:       8051
package:        CAS 8051 Assembler
version:        1.2
parts:     assembler/linker, disassembler, documentation, examples
author:   Mark Hopkins <mark@freenet.uwm.edu>
location:       ftp pub/8051/assem from lyman.pppl.gov
    Europe:     ftp pub/microprocs/MCS-51/csd4-archive/assem from nic.funet.fi
description:    experimental one-pass assembler for the 8051 with C-like
                 syntax.    Most features of a modern assembler included except
                 macros (soon to be added).  Other software tools and
                 applications contained in /pub/compilers/8051/*.
requires:       ANSI-C compiler
ports:     MSDOS, Ultrix, Sun4 (contact author)
updated:        1993/07/22

language:       8051
package:        as31 - An 8031/8051 assembler.
version:        ? 1
parts:     assembler, parser(yacc), documentation
author:   Ken Stauffer <stauffer@cpsc.ucalgary.ca>
                 (Theo Deraadt wrote the S-record output routines)
location:       comp.sources.misc volume 10
description:    Assembler with ability to produce a variety of object output
                 formats, including S-records.
ports:     SUN 3 / SUN 4 (SunOS 4.0), Tandy 6000 (Xenix)
portability:    File I/O may require porting on non-Unixs.
updated:        1990/01/26

language:       MIL-STD-1750 assembly
package:        as1750
version:        0.8
parts:     assembler and linker (monolithic)
author:   Oliver M. Kellogg <okellogg@cube.net>
location:       ftp /pub/crossgcc/1750gals/as1750-0.7.tar.gz from host
                 ftp.fta-berlin.de
description:    Simple assembler for the MIL-STD-1750 (A and B) instruction
                 set. This is the assembler used by gcc-1750a. 
                 Assembly and linkage are not separate passes: load modules
                 are generated directly from sources, without object files.
features:       + produces Tektronix Extended Hex or TLD LDM load modules
                 + parameterized macros (MACRO/ENDMACRO)
                 + macro variables (SET)
                 + macro expressions with operators as in the C language
                 + conditional assembly (IF/ELSIF/ELSE/ENDIF)
                 + repeated assembly (WHILE/ENDWHILE)
                 + small and fast
                 - no linker control directive file, the only means of
                   linkage control is via ORG statements
restriction:    GNU General Public License
requires:       32-bit ANSI C compiler (gcc is just fine)
ports:     Unix, VMS, DOS
status:   actively developed
announcements:  The Cross-GCC List <crossgcc@prosun.first.gmd.de>
updated:        1995/06/24

language:       Motorola DSP56000
package:        ?
version:        1.1
parts:     assembler
author:   Quinn Jensen <jensenq@qcj.icon.com>
location:       alt.sources archive or ftp ? from wuarchive.wustl.edu
description:    ?
updated:        ?

language:       Motorola DSP56001
package:        a56
version:        1.2
parts:     assembler
author:   Quinn Jensen <jensenq@qcj.icon.com>
location:       ftp pub/pin/misc/a56/a56v1.2* from ftp.novell.com
description:    DSP56001 cross-assembler written in YACC.  Produces
                 OMF or S-record format output suitable for serial download
                 or EPROM.  Package includes sample 56001 code fragments
                 that implement musical DSP effects like reverberation,
                 chorus, and flange.
ports:     Unix, DOS
announcements:  comp.dsp,comp.music
updated:        1994/09/07

language:       DSP32C
package:        a32src
version:        ?
parts:     assembler
author:   Tom Roberts <tjrob@iexist.att.com>
location:       comp.sources.misc volume 44
description:    This is an assembler for the AT&T DSP32C Digital Signal
                 Processor chip. This is source for the assembler and for an
                 enhanced C pre-processor; a DSP test program is included.  
portability:    probably high
ports:     MS-DOS
updated:        1994/09/23

language:       80486
package:        WDASM17B.ZIP - Windows 80486 Disassembler for Windows 3.1
version:        1.7b
parts:     disassembler
author:   Eric Grass <S876795@UMSLVMA.UMSL.EDU>
location:       SIMTEL20, pd1:<msdos.windows3>
description:    An interactive 80486 disassembler for Windows 3.1.  Multiple
                 options for formatting disassembly exist.
ports:     Windows3.1
portability:    Windows-specific
updated:        1993/06/29

language:       Assember (SPARC)
package:        elfdis
version:        2.3
parts:     disassembler
author:   Bruce Ediger <bediger@teal.csn.org>
location:       comp.sources.misc archives volume 42, issue 83
description:    An object code disassembler for SPARC which, unlike the native
                 SPARC disassembler, uses the relocation and dynamic linking
                 information in the Elf file.
updated:        1994/05/08

language:       68000 assembler
package:        m68kdis
version:        ??
parts:     documentation, disassembler
author:   Christopher Phillips <pefv700@chpc.utexas.edu>
location:       comp.sources.misc volume 45
description:    A disassembler for the M68000 family of microprocessors.
                 Some extra functionality for Macintosh resource forks is provided.
updated:        1994/11/08

language:       PDP-11 macro assembly
package:        PDPXASM.EXE
version:        2.20
parts:     assembler, linker, disassembler, serial line loader,
                 library routines
author:   Jim Cook <jcook@halcyon.com>
location:       ftp://ftp.idiom.com/pub/msdos/pdpxasm.exe
description:    A cross assembler that runs on the IBM PC/AT family. Assembles
                 PDP-11 into core image files. Developed for use in 
                 testing an add-in PDP-11 clone board.
reference:      Brief help files/screens for each program.
features:       1. Macro and .IRP support
bugs:       Contact jcook@halcyon.com
restriction:    May not be sold for profit. Must be distributed in toto.
requires:       2mb on a MS-DOS compatible machine.
updated:        1995/06/02

macro preprocessors
-------------------------------------------------------------------------------
category:       macro preprocessors
description:    These are tools that expand macros for another language.
iref:       (C) GNU CC
iref:       (C) lcc         

language:       C preprocessor
package:        Decus cpp
version:        ?
parts:     pre-processor
author:   Martin Minow 
location:       included in the X11R5 distribution as contrib/util/cpp
description:    An almost-ANSI C preprocessor.       It is shipped with X11R5
                 because some systems don't have a working cpp.
ports:     VMS (Vax C, Decus C), RSX-11M, RSTS/E, P/OS, and RT11,
                 A/UX, Apollo Domain/IX 9.6, etc.
portability:    very high
updated:        ?

language:       C-Refine,C++-Refine&comma *-Refine
package:        crefine
version:        3.0
parts:     pre-processor, documentation
author:   Lutz Prechelt <prechelt@ira.uka.de>
location:       aquire from any comp.sources.reviewed archive
description:    C-Refine is a preprocessor for C and languages that
                 vaguely resemble C's syntax.  It allows symbolic naming
                 of code fragments so as to redistribute complexity and
                 provide running commentary.
ports:     unix, msdos, atari, amiga.
portability:    high
updated:        1992/07/16

language:       gema
package:        gema
version:        1.1
parts:     macro processor, documentation, examples.
author:   David N. Gray  <DGray@acm.org>
location:       FTP /pub/gema/gema.tar.gz from ftp.ugcs.caltech.edu
                  MS-DOS executable in file exe.zip
                 To just view doc:  http://www.ugcs.caltech.edu/gema/
description:    A general-purpose macro processor that uses pattern
                 matching and replacement.  It can be used as a
                 pre-processor or to translate one language to another, or
                 to extract selected information from files.
features:       + Does not impose any particular syntax for macro calls.
                 + No built-in assumptions about input language syntax.
                 + Can recognize patterns spanning multiple lines.
                 + Handles recursive patterns, such as matching pairs of
                   nested parentheses. 
                 + Different sets of rules can be used in different contexts.
                 + Easy to ignore redundant white space.
requires:       ANSI C compiler
ports:     Unix, MS-DOS, Windows/NT
updated:        1995/05/23

language:       m4
package:        pd/bsd m4
version:        ?
parts:     interpreter, man page
author:   Ozan Yigit <oz@sis.yorku.ca>, 
                 Richard A. O'Keefe <ok@goanna.cs.rmit.OZ.AU>
location:       ftp from any 386BSD, NetBSD, or FreeBSD archive
description:    A macro preprocessor, more flexible than cpp
conformance:    ?
updated:        1993/11/03

language:       m4
package:        GNU m4
version:        1.4
parts:     interperter
author:   Francois Pinard <pinard@iro.umontreal.ca>
location:       ftp m4-1.4.tar.gz from a GNU archive site
    Macintosh:  ftp pub/software/mac/src/mpw-c/* from nic.switch.ch.
description:    A macro preprocessor, more flexible than cpp.
                 It copies its input to the output, expanding macros.  Macros
                 are either built-in or user-defined.  `m4' has built-in
                 functions for including files, running Unix commands, doing
                 integer arithmetic, manipulating text in various ways,
                 recursing, etc.    `m4' can be used either as a front-end to a
                 compiler or as a macro processor in its own right.
conformance:    Mostly SVR4 compatible with a few extensions.
restriction:    GNU General Public License
updated:        1994/11/06

special purpose languages
-------------------------------------------------------------------------------
category:       special purpose languages
description:    Languages with very specific purposes that are the only free
                 language in that niche (otherwise they would have a category)

language:       ADL (Adventure Definition Language)
package:        ADL
version:        ?
parts:     interpreter
author:   Ross Cunniff <cunniff@fc.hp.com>, Tim Brengle
location:       comp.sources.games archive volume 2
description:    An adventure language, semi-object-oriented with LISP-like
                 syntax.    A superset of DDL.
updated:        ?

language:       ASA
package:        Adaptive Simulated Annealing (ASA)
version:        9.4
parts:     ?
author:   Lester Ingber <ingber@alumni.caltech.edu>
location:       ftp://ftp.alumni.caltech.edu/pub/ingber
                 http://www.alumni.caltech.edu/~ingber/
description:    ? Language interface to neural net simulator?
discussion:     asa-request@alumni.caltech.edu
updated:        1995/09/03

language:       ASN.1 (Abstract Syntax Notation One)
package:        snacc (Sample Neufeld ASN.1 to C/C++ Compiler)
version:        1.1
parts:     compiler, runtime BER libraries, utility progs
author:   Mike Sample <msample@cs.ubc.ca>
location:       ftp /pub/local/src/snacc/snacc1.1.tar.Z from ftp.cs.ubc.ca
description:    ASN.1 is a language used to describe data structures in a
                 machine and implementation lang independent way.  Basic
                 Encoding Rules (BER) provide a universal (contiguous)
                 representation of data values. ASN.1 & BER were designed to
                 exchange data (with complex structure) over networks.  OSI
                 Application protocols such as X.400 MHS (email) and X.500
                 directory and others protocols such as SNMP use ASN.1 to
                 describe the PDUs they exchange.  Snacc compiles 1990 ASN.1
                 (including some macros) data structures into C, C++ or type
                 tables. The generated C/C++ includes a .h file with the
                 equivalent data struct and a .c/.C file for the BER encode and
                 decode, print and free routines.
conformance:    ITU T X.680/ISO 8824 (1994)
                 CCITT X.208 (1988), aka CCITT X.409 (1984)
reference:      Michael Sample and Gerald Neufeld, "Implementing Efficient
                 Encoders and Decoders for Network Data Representations",
                 IEEE INFOCOM '93 Proceedings, Vol 3, pp 1143-1153, Mar 1993
                 Michael Sample, "How Fast Can ASN.1 Encoding Rules Go?",
                 M.Sc. Thesis, University of British Columbia, Apr 1993
restriction:    Compiles under GNU Public License. No restriction on libs
                 and C/C++/tables generated by snacc.
requires:       yacc (or bison), lex (or flex) and cc (ANSI or non-ANSI)
contact:        mailing list: <snacc@cs.ubc.ca>
                 mailing list join/quit requests: <snacc-request@cs.ubc.ca>
                 Barry Brachman <brachman@cs.ubc.ca>
updated:        1993/07/12

language:       CLIPS
package:        CLIPS
version:        6.02
parts:     interpreter
author:   Gary Riley and Brian Donnell
location:       ftp user/ai/areas/expert/systems/clips from ftp.cs.cmu.edu  
description:    CLIPS is an expert system tool which provides a complete 
                 environment for the construction of rule and/or
                 object based expert systems (computer programs which emulate 
                 human expertise). CLIPS provides a cohesive tool for handling 
                 a wide variety of knowledge with support for three different 
                 programming paradigms: rule-based, object-oriented and 
                 procedural. 
bugs:       A list of bug fixes for CLIPS 6.0 and the replacement source  
                 files to fix the bugs are available by anonymous ftp from 
                 hubble.jsc.nasa.gov in the directory /pub/clips/Bug-Fixes.
ports:     Mac, Win 3.1, DOS, Sun Sparc (X Windows), others.
portability:    Highly portable.  
requires:       ANSI C Compiler
status:   active, supported
discussion:     Mailing list - send a single line message to 
                 listserv@cossack.cosmic.uga.edu saying SUBSCRIBE CLIPS-LIST 
                 Usenet - comp.ai.shells 
help:       
support:        Software Technology Branch (STB) Help Desk   
                 voice - (713)286-8919 from 9:00 AM to 4:00 PM (CST).
                 email - <stbprod@fdr.jsc.nasa.gov> 
                 FAX - (713) 244-5698. 
updated:        5/5/94

language:       Duel (a &ltpractical&gt C debugging language)
package:        DUEL
version:        1.10
parts:     interpreter, stand-alone module, documentation, test suites
author:   Michael Golan <mg@cs.princeton.edu>
location:       ftp duel/* from ftp.cs.princeton.edu
description:    DUEL acts as front end to gdb.       It implements a language
                 designed for debbuging C programs.  It mainly features 
                 efficient ways to select and display data items.  It is
                 normally linked into the gdb executable, but could stand
                 alone.    It interprets a subset of C in addition to its 
                 own language.
requires:       gdb
status:   author is pushing the system hard.
updated:        1993/03/20

language:       IDL (Project DOE's Interface Definition Language)
package:        SunSoft OMG IDL CFE
version:        1.2
parts:     compiler front end, documentation
author:   SunSoft Inc.
location:       ftp pub/OMG_IDL_CFE_1.2/* from omg.org
description:    OMG's (Object Management Group) CORBA 1.1 (Common
                 Object Request Broker Architecture) specification
                 provides the standard interface definition between
                 OMG-compliant objects.    IDL (Interface Definition
                 Language) is the base mechanism for object
                 interaction.  The SunSoft OMG IDL CFE (Compiler Front
                 End) provides a complete framework for building CORBA
                 1.1-compliant preprocessors for OMG IDL.  To use
                 SunSoft OMG IDL CFE, you must write a back-end; full
                 instructions are included.  A complete compiler of IDL would
                 translate IDL into client side and server side routines for
                 remote communication in the same manner as the currrent Sun
                 RPCL compiler. The additional degree of freedom that the IDL
                 compiler front end provides is that it allows integration of 
                 new back ends which can translate IDL to various programming
                 languages.  Several companies including Sunsoft are building
                 back ends to the CFE which translate IDL into target languages,
                 e.g. Pascal or C++, in the context of planned CORBA-compliant
                 products.
requires:       C++ 2.1 conformant C++ compiler
contact:        idl-cfe@sun.com
updated:        1993/05/04

language:       NeuDL
package:        NeuDL - Neural-Network Description Language
version:        0.2
parts:     NeuDL interpreter, translator (NewDL->C++), user manual,
                 NeuDL paper, examples
author:   Joey Rogers <jrogers@buster.eng.ua.edu>
location:       cs.ua.edu in /pub/neudl/NeuDLver02.tar.gz
description:    A prototype of a neural network description language with a
                 C++ - like syntax currently limited to backpropagation neural
                 nets.  There is enough flexibility in the language, though, to
                 allow users to create dynamic neural net configurations.  The
                 source is written in C++.
updated:        1994/05/23

language:       NeuronC
package:        nc
version:        ?
parts:     ?
author:   Robert G. Smith <rob@bip.anatomy.upenn.edu>
location:       retina.anatomy.upenn.edu:pub/nc.tgz
description:    Neuronc ("nc") is a general-purpose programming language with
                 a C-like syntax with special features for simulating large
                 neural circuits using compartments.  The source is written in
                 C++, but facilities are included for converting the software
                 to ANSI-C.
reference:      Smith, R.G.  (1992) NeuronC: a computational language for
                 investigating functional architecture of neural circuits.
                 J. Neurosci. Meth.  43: 83-108.
ports:     Unix: SGI, Sun, IBM AIX, and Linux.
updated:        1994/05/24

language:       NewsClip ?
package:        NewsClip
version:        1.01
parts:     translator(NewsClip->C), examples, documentation
author:   Looking Glass Software Limited but distributed by 
                 ClariNet Communications Corp.
location:       ?
description:    NewsClip is a very high level language designed for
                 writing netnews filters.  It translates into C.
                 It includes support for various newsreaders.
restriction:    Cannot sell the output of the filters.       Donation is hinted at.
status:   supported for ClariNet customers only
contact:        newsclip@clarinet.com
updated:        1992/10/25

language:       PROGRES
package:        PROGRES
version:        RWTH 5.10
parts:     environment, interpreter, database, ?
author:   Dr. Andy Schuerr <andy@i3.informatik.rwth-aachen.de>,
                 Albert Zuendorf <albert@i3.informatik.rwth-aachen.de>
location:       send mail to authors
    sun4-bin:   ftp pub/unix/PROGRES/? from ftp.informatik.rwth-aachen.de
description:    PROGRES is an integrated environment for a very high level
                 programming language which has a formally defined semantics
                 based on "PROgrammed Graph Rewriting Systems". This language
                 supports the following programming paradigms/purposes:    1)
                 Structurally object-oriented specification of attributed graph
                 structures with multiple inheritance hierarchies and types of
                 types (for parametric polymorphy).  2) Declarative/relational
                 specification of derived attributes, node sets, binary
                 relationships (directed edges), and Boolean constraints.  3)
                 Rule-oriented/visual specification of parameterized graph
                 rewrite rules with complex application conditions.  4)
                 Nondeterministic & imperative programming of composite graph
                 transformations (with built-in backtracking and cancelling
                 arbitrary sequences of failing graph modifications).
                 Therefore, PROGRES may be used as 1) a very high level
                 programming language for implementing abstract data types with
                 a graph-like internal structure, 2) a visual database
                 programming language for the graph-oriented database system
                 GRAS (which is available as free software under the GNU license
                 conditions), 3) a rule-oriented language for rapid prototyping
                 nondeterministically specified data/rule base transformations.
                 Furthermore, PROGRES is an almost statically typed language
                 which additionally offers "down casting" operators for runtime
                 checked type casting/conversion (in order to avoid severe
                 restrictions concerning the language's expressiveness).    
                 PROGRES is meant to be used with GRAS, which is also available
updated:        1993/11/02

language:       Tiny
package:        Omega test, Extended Tiny
version:        3.2.2
parts:     translator(fortran->tiny), tiny interpreter?, analysis tools
author:   William Pugh <pugh@cs.umd.edu> and others
location:       ftp pub/omega from ftp.cs.umd.edu
description:    The Omega test is implemented in an extended version of
                 Michael Wolfe's tiny tool, a research/educational tool
                 for examining array data dependence algorithms and
                 program transformations for scientific computations.
                 The extended version of tiny can be used as a
                 educational or research tool.  The Omega test: A system
                 for performing symbolic manipulations of conjunctions
                 of linear constraints over integer variables.  The
                 Omega test dependence analyzer: A system built on top
                 of the Omega test to analyze array data dependences.
contact:        omega@cs.umd.edu
updated:        1992/11/13

language:       Extended Tiny
package:        Extended Tiny
version:        3.0 (Dec 12th, 1992)
parts:     programming environment, dependence tester, tests
                 translator(Fortran->tiny), documentation, tech. reports
author:   original author: Michael Wolfe <cse.ogi.edu>,
                 extended by William Pugh et al. <pugh@cs.umd.edu>
location:       ftp pub/omega from cs.umd.edu
description:    A research/educational tool for experimenting with
                 array data dependence tests and reordering transformations.
                 It works with a language tiny, which does not have procedures,
                 goto's, pointers, or other features that complicate dependence
                 testing. The original version of tiny was written by Michael
                 Wolfe, and has been extended substantially by a research group
                 at the University of Maryland. Michael Wolfe has made further
                 extensions to his version of tiny.
ports:     Any unix system (xterm helpful but not required)
contact:        Omega test research group <omega@cs.umd.edu>
updated:        1993/01/23

language:       SQL
package:        _lex & yacc_ by Levine, Mason & Brown published by O'Reilly
version:        ?
parts:     book, grammar
author:   Levine, Mason & Brown
location:       buy the book, or ftp published/oreilly/nutshell/lexyacc/? 
                 from ftp.uu.net.
description:    In _lex & yacc_, by Levine, Mason & Brown an SQL parser
                 is included as an example grammar
updated:        ?

language:       SQL
package:        MultiCal System
version:        ?
parts:     ?
author:   Richard Snodgrass?
location:       ftp tsql/multical from FTP.cs.arizona.edu.
description:    [Anyone care to write a description? - ed]
restriction:    public domain, freely available
contact:        rts@cs.arizona.edu
updated:        ?

language:       SQL
package:        mSQL (Mini SQL)
version:        0.1
parts:     ? interpreter, documentation
author:   David J. Hughes <bambi@kirk.Bond.edu.au>
location:       Bond.edu.au [131.244.1.1] in /pub/Bond_Uni/Minerva
description:    Subset of ANSI SQL implemented with client-server support
                 over TCP/IP.
updated:        1994/07/12

language:       ModSim - U. S. Army ModSim compiler
package:        USAModSim
version:        1.0
parts:     compiler(->C), compilation manager, browser, library, 
                 database interface language, documentation
author:   ?
location:       ftp from max.cecer.army.mil in /ftp/isle
description:    ModSim is a general-purpose, block-structured, object-
                 oriented programming language with built in support
                 for Simulation. Its "parent languages" are Modula-2 and
                 Simula. It supports multiple inheritance, templates,
                 reference types, polymorphism, and process-oriented
                 simulation with synchronous and asynchronous activities
                 using explicit simulation time.
                 The documentation is extensive (>300 pages) and very good.
ports:     SPARC/SunOS, Silicon Graphics.
                 According to the Doc, there is a DOS-Version (not found
                 on the server.
contact:        Charles Herring <herring@lincoln.cecer.army.mil>
updated:        1993/12/29

natural languages
-------------------------------------------------------------------------------
category:       natural languages
description:    These are tools that interact with human languages.

language:       natural languages 
package:        Pleuk grammar development system
version:        1.0
parts:     shell, examples, documentation
author:   Jo Calder <jcalder@cs.sfu.ca>, Kevin Humphreys 
                 <kwh@cogsci.ed.ac.uk>, Chris Brew <chrisbr@cogsci.ed.ac.uk>,
                 Mike Reape <mreape@cs.tcd.ie>
location:       ftp from hostname ai.uga.edu: /ai.natural.language/
description:    A shell for grammar development, handles various grammatical
                 formalisms.
requires:       SICStus Prolog version 2.1#6 or later, and other programs
                 readily available from the public domain.
contact:        pleuk@cogsci.ed.ac.uk.   
updated:        1993/06/18

language:       natural languages
package:        proof
version:        ?
parts:     parser, documentation
author:   Craig R. Latta <latta@xcf.Berkeley.EDU>
location:       ftp src/local/proof/* from scam.berkeley.edu
description:    a left-associative natural language grammar scanner
bugs:       proof@xcf.berkeley.edu
ports:     Decstation3100 Sun-4
discussion:     proof-request@xcf.berkeley.edu ("Subject: add me")
updated:        1991/09/23

curiosities
-------------------------------------------------------------------------------
category:       curiosities
description:    These are the languages and tools that I could not fit into one
                 of the other categories.   I am quite willing to reclassify
                 these if provided with a rational way to do so.

language:       a1 (Address 1 code)
package:        a1 code interpreter
version:        ? 1
parts:     interpreter, examples
author:   Matthew Newhook <matthew@engr.mun.ca>
location:       garfield.cs.mun.ca:/pub/a1/a1.tar.Z
description:    An address 1 code interpreter used to test compiler output.
requires:       gcc 2.4.2 or higher
portability:    Ports to machine without memory segment protection unverified.
updated:        1993/06/02

language:       INTERCAL
package:        C-INTERCAL
version:        0.10
parts:     compiler(->C), library, documentation
author:   Eric S. Raymond <esr@snark.thyrsus.com>
location:       ftp locke.ccil.org:pub/retro/intercal-0.10.tar.gz
                 (in the Museum of Retrocomputing)
description:    INTERCAL is possibly the most elaborate and long-lived joke
                 in the history of programming languages.  It was first designed
                 by Don Woods and Jim Lyons in 1972 as a deliberate attempt
                 to produce a language as unlike any existing one as possible.
                 The manual, describing features of horrifying uniqueness,
                 became an underground classic.    ESR wrote C-INTERCAL in 1990
                 as a break from editing _The_New_Hacker's_Dictionary_, adding
                 to it the first implementation of COME FROM under its own name.
                 The compiler has since been maintained and extended by an
                 international community of technomasochists.  The distribution
                 includes extensive documentation and a program library.
                 C-INTERCAL is actually an INTERCAL-to-C source translator which
                 then calls the local C compiler to generate a binary.  The code
                 is thus quite portable.
contact:        Steve Swales <steve@bat.lle.rochester.edu>
updated:        1993/05/20

language:       MIX
package:        mix
version:        1.05
parts:     interpreter, examples.
author:   Darius Bacon <djello@well.sf.ca.us>
location:       ftp locke.ccil.org:pub/retro/mix-1.5.shar.gz
                 (in the Museum of Retrocomputing)
description:    An interpreter for the MIX pseudoassembler used for
                 algorithm description in Volume I of Donald Knuth's
                 "The Art Of Computer Programming".
status:   preliminary release of a program under active development
portability:    Any ANSI C host
updated:        1994/10/20

language:       Loglan'82
package:        Loglan82
version:        ?
parts:     Cross-Compiler (->C)
author:   ?
location:       ftp pub/Loglan82 from infpc1.univ-pau.fr
description:    The academic community has a need for one language which
                 enables to teach all elements of object programming: classes &
                 objects, coroutines, processes (in Loglan'82 processes are
                 objects which are able to act in parallel), inheritance,
                 exception handling, dynamic arrays etc.
                 Loglan'82 offers the complete sets of programming tools used in
                 object and modular and structural programming. It is suggested
                 to use it duringthe first two years of teaching and afterwards
                 too.
                 Loglan'82 supports other styles of programming e.g. programming
                 by rules, functional programming etc.
restriction:    GNU General Public License
requires:       ?
announcements:  send "SUBSCRIBE loglan82 <your_first_name> <your_name>" 
                 to loglan82-request@crisv1.univ-pau.fr
contact:        Andrzej.Salwicki@univ-pau.fr
updated:        1994/2/15

language:       TRAC
package:        trac
version:        1.1
parts:     interpreter, documentation, examples.
author:   Jown Cowan <cowan@locke.ccil.org>
location:       ftp locke.ccil.org:pub/retro/trac.shar.gz
                 (in the Museum of Retrocomputing)
description:    TRAC is an interactive language built around the idea that
                 everything is a macro.    Analogous to APL, in that it is an
                 elegant language with peculiar syntax that pushes one idea as
                 far as it can go.
bugs:       report to Jown Cowan <cowan@locke.ccil.org>
portability:    Written in Perl; any host with a Perl can run it.
updated:        1994/10/16

language:       OISC
package:        oisc
version:        we don't need no steenking versions
parts:     interpreter, documentation, examples.
author:   Ross Cunniff <cunniff@hpross.fc.hp.com>
location:       ftp locke.ccil.org:pub/retro/oisc.shar.gz
                 (in the Museum of Retrocomputing)
description:    You've heard of RISC, Reduced Instruction Set Computers? 
                 Well, here is the concept taken to its logical extreme -- an 
                 emulator for a    computer with just one (1) instruction!
                 Illustrative programs in the OISC machine language are
                 included.

language:       orthogonal
package:        orthogonal
version:        ?
parts:     interpreter, documentation, examples.
author:   Jeff Epler <jepler@herbie.unl.edu>
location:       ftp pub/retro/orthogonal.shar.gz from locke.ccil.org
                 (in the Museum of Retrocomputing)
description:    A mini-language composed in September 1994 as a response to a
                 speculative thread on the USENET group alt.lang.intercal,
                 designed to explore the possibility of truly two-dimensional
                 control structures.  Vaguely FORTH-like, except that control
                 flow can move forward, backward, or sideways (or even
                 diagonally!).
updated:        1994/09/24

unable to classify due to lack of knowledge
-------------------------------------------------------------------------------
category:       unable to classify due to lack of knowledge
description:    [Please help. --ed]

language:       Cantata - Extensible Visual Programming Language
package:        Khoros
version:        2.0.2
parts:     Preview - Graphical User Interface Display Tool
                 Composer - Interactive Graphical User Interface Editor
                 Conductor - Code Generation Tool for Graphical User Interface 
                 Ghostwriter - Code Generation Tool for a Command Line User
                                 Interface
                 Source Configuration & Management - Tools to install and
                                                   maintain a distributed source tree
                 Animate - Interactive Image Sequence Display Tool
                 Concert - System for distributed X user interface (groupware) 
                 Editimage - Interactive Image Display & Manipulation Program 
                 Xprism2 and Xprism3 - 2D and 3D Plotting Packages
                 Viewimage - A basic interactive program for surface rendering 
                 Warpimage - An interactive program for registering and
                               warping images
                 documentation
author:   Khoral Research Inc
location:       
    USA
        ftp.khoral.com       [198.59.155.28]        /pub/khoros2.0
    GERMANY
        ftp.e20.physik.tu-muenchen.de
    BRAZIL
        ftp.unicamp.br       [143.106.10.54]        /pub/khoros2.0
description:    Khoros is an integrated software development environment for 
                 information processing and visualization, based on the X
                 Windows System and utilizing the MOTIF, Athena and OLIT
                 widget sets.
reference:      Rasure and Kubica, "The Khoros Application Development
                 Environment", Experimental Environments for Computer Vision  
                 and Image Processing, editor H.I Christensen and J.L Crowley,  
                 World Scientific 1994.
                 Konstantinides and Rasure, "The Khoros Software Development 
                 Environment For Image And Signal Processing", IEEE
                 Transactions on Image Processing, VOL. 3, No. 3 May 1994,
                 pp. 243-252.
                 Rasure, Williams, Argiro, and Sauer, "A Visual Language and 
                 Software Development Environment for Image Processing",
                 International Journal of Imaging Systems and Technology, Vol. 
                 2, pp 183-199 (1990)
                 Man pages included with software distribution.
bugs:       k2-xvapp-bugs-FAQ, k2-xvlib-bugs-FAQ
restriction:    Free access to Khoros, but not in the public domain. The
                 software is owned by Khoral Research, Inc., and does carry a 
                 License and Copyright. While Khoros may be used by any
                 organization free of charge, it can not be distributed
                 without a license. All users of the system should register  
                 with Khoral Research and agree to abide by the Free Access  
                 License terms and conditions.
requires:       gzip, C Compiler, X (R4-6), Athena, Motif, or OLIT, lex/yacc
discussion:     comp.soft-sys.khoros
ports:     Many Un*x ports
help:       Khoros Consortium, ftp://ftp.khoral.com/pub/khoros/FAQ
                 ftp://ftp.khoral.com/pub/khoros2.0/manual
support:        http://ftp.khoros.unm.edu/

language:       Common Lisp
package:        Garnet
version:        2.2
parts:     user interface builder
author:   The Garnet project
location:       ftp /usr/garnet/garnet from a.gp.cs.cmu.edu
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:       FMPL of Accardi
package:        FMPL interpreter
version:        1
parts:     interpreter, documentation
author:   Jon Blow <blojo@xcf.berkeley.edu>
location:       ftp src/local/fmpl/* from xcf.berkeley.edu
description:    FMPL is an experimental prototype-based object-oriented 
                 programming language developed at the Experimental Computing
                 Facility of the University of California, Berkeley.
                 + lambda-calculus based constructs.
                 + event-driven (mainly I/O events)
updated:        1992/06/02

language:       Garnet
package:        Multi-Garnet
version:        2.1
parts:     ?
author:   Michael Sannella <sannella@cs.washington.edu>
location:       ftp /usr/garnet/alpha/src/contrib/multi-garnet 
                 from a.gp.cs.cmu.edu
description:    better contstraint system for Garnet ??
updated:        1992/09/21

language:       EXPRESS (ISO 10303, Part 11)
package:        NIST EXPRESS Toolkit
version:        
parts:     scanner (lex or flex), parser (yacc or bison), library
author:   Don Libes <libes@nist.gov>
location:       ftp pub/step/npttools/exptk.tar.Z from ftp.cme.nist.gov
description:    Compiler front-end for EXPRESS language.  Several backends are
                 available in the same location.
conformance:    CADDETC certified.
reference:      numerous documents on ftp.cme.nist.gov in
                 pub/step/nptdocs/exptk-*.ps.Z
                 EXPRESS Language Reference Manual
features:       Can be tried without installing by emailing EXPRESS schemas to
                 express-server@cme.nist.gov
bugs:       exptk-admin@cme.nist.gov
restriction:    none, is public-domain
requires:       lex or flex, yacc or bison, C compiler
ports:     any UNIX or UNIX-like system
portability:    DOS port available from:
status:   Settling down now that it has been certified.  A new version
                 is in development for EXPRESS 2
discussion:     express-users-admin@cme.nist.gov (EXPRESS Users Mailing List)
help:       exptk-admin@cme.nist.gov
support:        exptk-admin@cme.nist.gov (not officially supported)
contributions:  no contributions, however a letter to your US congressional
                 representative describing what a great (or lousy) job NIST is
                 doing is helpful to maintaining (or destroying) our funding.
announcements:  EXPRESS Users Mailing List
contact:        exptk@cme.nist.gov
updated:        1994/11/25


-------------------------------------------------------------------------------
references
-------------------------------------------------------------------------------

name:       The Apple II Programmer's Catalog of Languages and Toolkits
version:        3.0
author:   Larry W. Virden <lvirden@cas.org>
location:       posted to comp.sys.apple2, comp.lang.misc; ftp from
                 pub/compilers-list/AppleIICatalog3.0 from ftp.idiom.com
description:    A survey of language tools available for the Apple ][.
updated:        1994/08/26

name:       Catalog of embeddable Languages.
version:        2
author:   Colas Nahaboo <colas@bagheera.inria.fr>
location:       posted to comp.lang.misc,comp.lang.tcl; 
                 ftp pub/EmbeddedInterpretersCatalog.txt from avahi.inria.fr
description:    Descriptions of languages from the point of view of 
                 embedding them.
updated:        1992/07/09

name:       Compilers bibliography
version:        1.5
author:   Charlie A. Lins
location:       ftp pub/oberon/comp_bib_1.4.Z from ftp.apple.com
description:    It includes all the POPLs, PLDIs, Compiler Construction, 
                 TOPLAS, and LOPAS.  Plus various articles and papers from 
                 other sources on compilers and related topics.
updated:        1992/10/31

name:       haskell-status
version:        ?
author:   Simon Peyton Jones <simonpj@dcs.glasgow.ac.uk>
location:       posted occasionally to ???  
description:    A report, detailing the current features and status of
                 all the implementations of Haskell.
updated:        ?

name:       Language List
version:        2.1
author:   Bill Kinnersley <billk@hawk.cs.ukans.edu>
location:       posted regularly to comp.lang.misc; 
                 ftp pub/comp.compilers/LanguageList* from primost.cs.wisc.edu;
                 ftp pub/compilers-list/LanguageList* from ftp.idiom.com
description:    Descriptions of almost every computer language there is.
                 Many references to available source code.
updated:        1993/09/11

name:       Numerical Analysis Using Non-Procedural Paradigms
version:        published thesis
author:   Steve Sullivan <sullivan@mathcom.com>
location:       ftp: ftp.mathcom.com  /Mathcom/numex
                 or send email to the author.
description:    A thesis, that among other things, compares
                 and benchmarks:    C++, Modula-3, Standard ML, Haskell,
                 Sather, Common Lisp, Fortran 77, and Fortran 90.
updated:        1995

name:       The Lisp FAQs
version:        1.30
author:   Mark Kantrowitz <mkant+@cs.cmu.edu>
location:       posted regularly to comp.lang.lisp,news.answers,comp.answers
description:    Details of many lisps and systems written in lisps 
                 including many languages not covered elsewhere.
updated:        1993/02/08

name:       Survey of Interpreted Languages
version:        ?
author:   Terrence Monroe Brannon <tb06@CS1.CC.Lehigh.ED>
location:       Posted to comp.lang.tcl,comp.lang.misc,comp.lang.perl,
                 gnu.emacs.help,news.answers; or ftp 
                 pub/gnu/emacs/elisp-ar*/pack*/Hy*Act*F*/survey-inter*-languages
                 from archive.cis.ohio-state.edu.
description:    Detailed comparision of a few interpreters: Emacs Lisp, 
                 Perl, Python, and Tcl.
updated:        ?


-------------------------------------------------------------------------------
archives
-------------------------------------------------------------------------------

language:       Ada
package:        AdaX
location:       ftp pub/AdaX/* from falcon.stars.rosslyn.unisys.com
description:    an archive of X libraries for Ada.  Includes Motif
                 [note, I chose this server out of many somewhat randomly.
                 Use archie to find others --ed]
contact:        ?

language:       APL, J
package:        APL, J, and other APL Software at Waterloo
location:       ftp languages/apl/index from watserv1.waterloo.edu
contact:        Leroy J. (Lee) Dickey <ljdickey@math.waterloo.edu>

language:       Assembler (Motorola)
package:        ?
location:       ftp bode.ee.ualberta.ca : /pub/dos/motorola
description:    An archive of development software and tools for the
                 Motorola microcontroller series.  Includes assemblers,
                 a C compiler (6809), and applications.    Comes mainly
                 from the Austin Texas Motorola BBS.

language:       Assembler (Various)
package:        The Beowulf archive?
location:       hpcsos.col.hp.com : /misc/ns32k/beowulf
description:    An archive of assemblers for various 8-bit microcontrollers

language:       Assembler, Forth (8051)
package:        The Siemens 8051 archive
location:       ftp://ftp.pppl.gov/pub/8051/signetics-bbs/
description:    An archive for development software and tools for the 8051
                 microcontroller.
contact:        jsm@phoenix.princeton.edu

language:       Assembler (8051)
package:        The CAS archive.
location:       ftp://nic.funet.fi/pub/microprocs/MCS-51/CAS/
description:    Another archive for development software and tools for the 8051
                 microcontroller.  May be converted into a general
                 microprocessor archive in the future.

language:       C, C++, Objective-C, yacc, lex, postscript, 
                 sh, awk, smalltalk, sed
package:        the GNU archive sites
location:       NOTE:   Many gnu files are now compressed with gzip.  You can
                 tell a gzip'ed file because it has a lower-case .z or
                 .gz rather than the capital .Z that compress uses.
                 Gzip is available from these same archives
                 ftp pub/gnu/* from prep.ai.mit.edu
    USA:        ftp mirrors4/gnu/* from wuarchive.wustl.edu
                 ftp pub/src/gnu/* from ftp.cs.widener.edu
                 ftp gnu/* from uxc.cso.uiuc.edu
                 ftp mirrors/gnu/* from col.hp.com
                 ftp pub/GNU/* from gatekeeper.dec.com
                 ftp packages/gnu/* from ftp.uu.net
    Japan:      ftp ? from ftp.cs.titech.ac.jp
                 ftp ftpsync/prep/* from utsun.s.u-tokyo.ac.jp
    Australia:  ftp gnu/* from archie.au
    Europe:     ftp gnu/* from src.doc.ic.ac.uk
                 ftp pub/GNU/*/* from ftp.informatik.tu-muenchen.de [re-org'ed]
                 ftp pub/gnu/* from ftp.informatik.rwth-aachen.de
                 ftp pub/gnu/* from nic.funet.fi
                 ftp pub/gnu/* from ugle.unit.no
                 ftp pub/gnu/* from isy.liu.se
                 ftp pub/gnu/* from ftp.stacken.kth.se
                 ftp pub/gnu/* from sunic.sunet.se [re-org'ed]
                 ftp pub/gnu/* from ftp.win.tue.nl
                 ftp pub/gnu/* from ftp.diku.dk
                 ftp software/gnu/* from ftp.eunet.ch
                 ftp gnu/* from archive.eu.net [re-org'ed]
description:    There are many sites which mirror the master gnu archives
                 which live on prep.ai.mit.edu.    Please do not use 
                 the master archive without good reason.
restriction:    Most GNU programs are CopyLeft'ed.  That means that they 
                 are distributed under the terms of the GNU General
                 Public License or GNU Library General Public License.
                 The CopyLeft is only a concern if you want to use
                 actual GNU code in your program.  Using Gcc or any of
                 the other tools is completely safe from a copyright
                 point-of-view with the sole exception of bison which
                 includes GNU code in its output.  If you use a GNU
                 library, you must supply an unlinked version of your
                 program.

language:       C, C++
package:        LEARN C/C++ TODAY
location:       http://nyx10.cs.du.edu:8001/~vcarpent/learn-cpp.html or 
                 ftp pub/usenet/news.answers/C-faq/learn-c-cpp-today from rtfm.mit.edu
descripton:     The LEARN C/C++ TODAY list is a list of a few C and C++
                 language tutorials available to a user.    This list includes
                 interactive tutorials, public-domain code collections, books
                 etc.
contact:        Vinit S. Carpenter <carpenterv@vms.csd.mu.edu>

language:       Forth
package:        ?
location:       anonymous@asterix.inescn.pt[192.35.246.17]:pub/forth
description:    Forth implementations and programs
contact:        Paulo A. D. Ferreira <?>

language:       Haskell
package:        ?
location:       anonymous@ftp.cs.chalmers.se:pub/haskell/library 
                 anonymous@nebula.cs.yale.edu:pub/haskell/library
                 anonymous@ftp.dcs.glasgow.ac.uk:pub/haskell/library
description:    An archive of Haskell and Gofer programs

language:       ALGOL-60, FOCAL, FOOGOL, INTERCAL, JCL, MIXAL, OISC, PILOT, 
                 TRAC, orthogonal, Little Smalltalk
package:        The Museum of Retrocomputing.
location:       locke.ccil.org:pub/retro
description:    The Museum of Retrocomputing.  This archive collects
                 implementations of languages that time forgot -- also,
                 the jokes, freaks, and monstrosities from the history
                 of language design.
 
language:       lisp
package:        MIT AI Lab archives
location:       ftp pub/* from ftp.ai.mit.edu
description:    archive of lisp extensions, utilities, and libraries
contact:        ?

language:       lisp
package:        Lisp Utilities collection
location:       ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp from ftp.cs.cmu.edu
description:    ???
contact:        cl-utilities-request@cs.cmu.edu

language:       Scheme
package:        The Scheme Repository
location:       ftp pub/scheme/* from nexus.yorku.ca
description:    an archive of scheme material including a bibliography, 
                 the R4RS report, sample code, utilities, and implementations.
contact:        Ozan S. Yigit <scheme@nexus.yorku.ca>

language:       Smalltalk
package:        Manchester Smalltalk Goodies Library
location:       ftp uiuc/st*/* from st.cs.uiuc.edu
    UK:   ftp uiuc/st*/* from mushroom.cs.man.ac.uk
description:    a large collection of libraries for smalltalk.
                 Created by Alan Wills, administered by Mario Wolczko.
contact:        goodies-lib@cs.man.ac.uk

language:       Tcl
package:        Tcl/Tk Contrib Archive
location:       ftp tcl/* from barkley.berkeley.edu
description:    An archive of Tcl/tk things.
contact:        Jack Hsu <tcl-archive@barkley.berkeley.edu>

language:       TeX
package:        CTAN (Comprehensive TeX Archive Network
location:       ftp ~ftp/tex-archive/* from ftp.shsu.edu
    Europe:     ftp ? from ftp.uni-stuttgart.de                
description:    A large archive site of most all things TeX-related, including
                 literate programming tools such as WEB and derivatives.


-------------------------------------------------------------------------------
cross-reference
-------------------------------------------------------------------------------
These are additional categories.  When an implementation is in a category
rather than a language, the language is indicated in (parenthesis).

category:       command shells
description:    These are the languages that treat bare words as programs
                 to execute.
lref:       csh
lref:       ERGO-Shell
lref:       es
lref:       Korn Shell
lref:       Q
lref:       rc
lref:       ssh
lref:       Z-shell

category:       compiler frontend/backend glue
description:    These are the languages used to glue semantic analysers to
                 code generators.
lref:       C    -- C is often used as an intermediate step
lref:       RTL
lref:       SUIF
iref:       (lcc intermediate format) lcc 

category:       database 
description:    These are the languages that are either specifically designed
                 for database access or have an interface to persistent
                 data that is much more than embedded SQL.
lref:       PFL
lref:       PROGRES
iref:       (CooL) CooL-SPE
iref:       (E) GNU E
iref:       (Prolog) Aditi
iref:       (Prolog) CORAL

category:       programming in the large
description:    These are systems designed for large-scale programming 
                 projects.  
                 [I just added this category, so please add to it --ed]
lref:       C
lref:       C++
lref:       CooL

category:       distributed
description:    These are languages that include constructs that specifically 
                 support distributed programming.
lref:       Hermes
lref:       Glish
iref:       (Tcl) Tcl-DP

category:       dynamic foreign functions
description:    These tools can dynamically load C code at run-time.
lref:       Common Lisp
lref:       Python
lref:       Perl
iref:       (Scheme) Elk

category:       editor construction
description:    These are languages that are embedded in editors
lref:       IVY
lref:       S-Lang
lref:       elisp

category:       educational
description:    These are languages that are either designed for teaching,
                 or are often used that way.
lref:       ABC
lref:       C
lref:       Logo
lref:       MIX
lref:       O'small
lref:       Pascal
lref:       PILOT
lref:       Scheme

category:       embeddable
description:    These tools can be used as scripting languages for programs
                 written in C.  They are all interpreted.
lref:       IVY
lref:       Perl
lref:       Python
lref:       S-Lang
lref:       Tcl
iref:       (C) ae
iref:       (Scheme) Elk
iref:       (Scheme) siod

category:       glue
description:    These are languages that are designed to tie other programs
                 and libraries together.    
cref:       dynamic foreign functions
cref:       command shells
lref:       Glish
lref:       REXX

category:       graphic user interface support
description:    These are the languages that have support for writing 
                 gui programs. 
cref:       C variants
lref:       Common Lisp
lref:       LIFE
lref:       Python
lref:       Perl
iref:       (Caml) Caml Light
iref:       (CooL) CooL-SPE
iref:       (Prolog) PI
iref:       (Prolog) XWIP
iref:       (Scheme) Elk
iref:       (Scheme) ezd
iref:       (Scheme) STk
iref:       (Tcl) Tk
iref:       (Tcl) Wafe

category:       interactive
description:    These are the languages that are meant to be used 
                 interactively.    [I'm sure there are more.  Tell me! --ed]
lref:       Caml
lref:       Common Lisp
lref:       Q
lref:       TRAC
iref:       (C) ae

category:       reflective
description:    from Rainer Joswig (rainer@ki6.informatik.uni-hamburg.de) :
                 To make it short: Reflective Languages have access to their own
                 implementation. One can ask about the state of the running
                 system and/or change aspects of the language.
lref:       ABCL ???
lref:       ABCL/1
lref:       MeldC
lref:       CLOS with MOP (Meta Object Protocol)

category:       terminal graphics support
description:    These are languages that can access curses, or have an
                 equivalent.
cref:       C variants
lref:       ici
lref:       Perl
lref:       Python
iref:       (Fortran) F-curses
iref:       (Common Lisp) CLISP
iref:       (Scheme) scm

category:       text manipulation
description:    These languages have very high-level features for 
                 manipulating text.  
cref:       compiler generators and related tools
lref:       Icon
lref:       Lex
lref:       Perl
lref:       Snobol4

category:       unix tool building
description:    These are languages that are appropriate for building tools
                 in a Unix environment.    To be included, direct access to 
                 most system features is required.
lref:       C
lref:       ici
lref:       Perl
lref:       Python
lref:       Tcl
iref:       (Scheme) scsh

category:       window manager construction
description:    These are languages that are built into window managers
iref:       (Lisp) GWM

--
Send compilers articles to compilers@iecc.com,
meta-mail to compilers-request@iecc.com.