home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-02 | 61.9 KB | 1,702 lines |
- Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!europa.eng.gtefsd.com!uunet!world!iecc!compilers-sender
- From: free-compilers@idiom.berkeley.ca.us (David Muir Sharnoff)
- Subject: Catalog of compilers, interpreters, and other language tools [p1of4]
- Message-ID: <free1-Dec-93@comp.compilers>
- Followup-To: comp.lang.misc
- Summary: Monthly posting of free language tools that include source code
- Keywords: tools, FTP, administrivia
- Sender: compilers-sender@chico.iecc.com
- Supersedes: <free1-Nov-93@comp.compilers>
- Reply-To: free-compilers@idiom.berkeley.ca.us (David Muir Sharnoff)
- Organization: Idiom Consulting / Berkeley, CA
- Date: Wed, 1 Dec 1993 16:35:47 GMT
- Approved: compilers@iecc.com
- Expires: Sat, 1 Jan 1994 23:59:00 GMT
- Lines: 1683
- Xref: senator-bedfellow.mit.edu comp.compilers:5939 comp.lang.misc:14811 comp.archives.admin:1263 news.answers:15305 comp.answers:2874
-
- Archive-name: free-compilers/part1
- Last-modified: 1993/11/28
- Version: 6.1
-
-
- -------------------------------------------------------------------------------
- Catalog of Free Compilers and Interpreters.
- -------------------------------------------------------------------------------
-
- This list catalogues freely available software for language tools, which
- includes the following: compilers, compiler generators, interpreters,
- translators, important libraries, assemblers, etc. -- things whose user
- interface is a language. Natural language processing tools may also
- be included.
-
- This list is primarily aimed at developers rather than researchers, and
- consists mainly of citations for production quality systems. There is some
- overlap of coverage between this document and other lists and catalogs. See
- the references section for a list...
-
- All the listed items should be free and come with source code, exceptions have
- generally been deleted from the list in the past. If you find any such items
- in the list let me know and I'll remove them.
-
- The latest version of the catalog can be ftp'ed: get
- pub/compilers-list/free-compilers from idiom.berkeley.ca.us.
-
- This catalog is available through World Wide Web. A searchable
- hypertext version can be accessed through http://cui_www.unige.ch/freecomp.
-
- Not all entries have complete citations. Some fields are filled with question
- marks (?). Fields with both the ? and an entry are implicit requests for
- confirmation. Also, specific questions will often be asked [in brakets --ed].
-
- Please send updates to <free-compilers@idiom.berkeley.ca.us>. If you
- fill out the template (see the first entry in the tools section) it is
- a lot easier for me to keep things going.
-
- Thanks,
-
- -Dave
- Idiom Consulting, Berkeley, CA
-
- -------------------------------------------------------------------------------
- overview (table of contents)
- -------------------------------------------------------------------------------
-
- introduction
- overview (table of contents)
- changes and history
- prototype entry
- tools
- scripting languages
- functional languages
- C and variants
- compiled, imperitive languages
- object oriented languages
- LISP family langauges
- Wirth family languages
- logic programming languages
- concurrent, parellel, and simulation languages
- Forth family languages
- compiler generators and related tools
- mathematical tools and languages
- electrical engineering languages
- document formatting languages
- assemblers
- macro preprocessors
- special purpose languages
- natural languages
- curiosities
- unable to classify due to lack of knowledge
- references
- archives
- cross-reference
-
- -------------------------------------------------------------------------------
- changes and history
- -------------------------------------------------------------------------------
-
- This document grew out of David Muir Sharnoff filing away postings that
- he saw (mostly Ed Vielmetti's postings to comp.archives) during 1991 and
- the first half of 1992. At the Summer 1992 USENIX Technical Conference,
- the other attendees of the archivits BOF convinced David to compile his
- data into a posting. David posted for about one year, then turned the
- list over to Mark Hopkins. Mark Hopkins took care of it for the summer
- of 1993 and then gave it back to David Sharnoff when it dropped off the
- net. Steve Robenalt <robenalt@molly.dny.rockwell.com> will take the list
- over from David, staring December 1993.
-
- For this version the changes are:
-
- A new format! A cross-reference section was added, and so
- was a table of contents.
-
- language package
- -------- -------
- new listings:
- ?Attribute grammer? Ox
- Bourne shell Ash
- C gc (garbage collector)
- C ae (application executive)
- C Preprocessor Decus cpp
- C, C++ Cyclo (cyclomatic complexity tool)
- C++ signatures for GCC 2.5.2
- C++ Lily
- C++ C++SIM
- CLiP CLiP
- EAG EAG (Extended Affix Grammar)
- Gofer, BNF Ratatosk (?)
- HP-GL, Postscript hp2ps
- Forth pfe (Portable Forth Environment)
- IVY Ivy
- m4 pd/bsd m4
- Objective-C Collection Library for GNU Objective-C
- Perl curseperl
- Perl Dylperl
- Scheme, Tk STk
- TCL Extended Tcl
- TCL tcl-debug
- new versions:
- Assembly (various) GNU assember (gas) 2.2
- awk GNU awk 2.15.3
- BASIC bwBASIC 2.10
- BNF Eli Compiler Construction System 3.5
- BNF, Icon ibpag2
- C Pthreads 1.17
- C, C++ gdb 4.11
- C, C++, Objective-C GNU CC 2.5.5
- C, nroff, texinfo c2man 2.0 patchlevel 17
- Candle, IDL Scorpion System 6.0
- csh tcsh 6.04
- Common Lisp CMU Common Lisp 17c
- Glish glish 2.4.1
- Korn Shell pdksh 4.9
- Korn Shell Bash 1.13.4
- Logo Berkeley Logo 3.0
- Logo MswLogo 3.5
- Lout Lout 2.05
- ML (Caml Light) Caml Light 0.6
- Perl Perl 5 alpha 3
- Prolog SWI-Prolog 1.7.2
- Scheme Elk 2.1
- Scheme scm 4c5
- Scheme slib 1d5
- Scheme VSCM II Nov9
- Scheme Psd 1.1
- sed GNU sed 2.03
- S-Lang S-Lang 0.94
- TCL TCL 7.2
- TCL Tk 3.5
- TCL Wafe 0.95
- deletions (no source available):
- Simula cim
- edits:
- TOO MANY TO LIST
- new cross-references:
- TOO MANY TO LIST
- new references:
- Haskell haskell-status
- new archives:
-
- -------------------------------------------------------------------------------
- prototype entry
- -------------------------------------------------------------------------------
- Every entry should at least have the fields marked with two asterixes (**).
-
- language: **Reference Entry
- Language: what the software compiles/interprets...
- package: **The name of the package
- version: **Its current version
- parts: **compiler, assembler, interpreter, translator, grammar(yacc,
- lex), library, documentation, examples, assembler, simulator,
- tutorial, test suite, byte-code compiler, run-time,
- translator(from->to)... Compilers that use C as an
- intermediate lanaguage should be noted as "compiler(->C)".
- Compilers that compile into a coded representation that is
- interpreted by a runtime module should be noted as "bytecode
- compiler". Do not say "source code" -- if source is not
- included, do not send an entry at all!
- author: **the creator of the package. Email addresses are in the
- form "Real Name <email@address>". Surface mail addresses
- are not used unless there is no email address.
- how to get: **where to get the source, how to get it -- usually an FTP site
- or two. May have subheaders for specific areas or different
- ports of the software (don't overdo this!): Only official
- sites should be listed. The format for ftp directives is "ftp
- dir/file from host". No IP address is given.
- N.America: Sites for North Americans.
- Europe: Sites Europeans should use
- Japan: Sites for people in Japan
- OS/2: Sites with OS/2 ports.
- description: **what the package is, possibly including some history
- A short review encouraged, but no propaganda please.
- conformance: how well does it conform to the existing Standard, if one exists
- reference: research references and other external documentation.
- features: salient features not listed in the description.
- bugs: known bugs (also: where to go to find/report bugs)
- restriction: restrictions using the software will place on the user.
- requires: what is needed to install it. A C compiler is assumed.
- ports: where it has been installed
- portability: how system-independent is it, system dependencies.
- status: development status (active, history, supported, etc)
- discussion: where discussion about the package takes place
- help: where help may be gotten from
- support: where support may be gotten from
- contributions: possible requests for money contributions (but no shareware)
- announcements: where new releases are announced
- contact: who to reach concerning the package (if not author)
- updated: **last known update to the package, not time of the update
- to the entry in the catalog!
-
- In addition to the above, in entries for categories, and languages,
- cross-references can be made.
- cref: cross-reference to a category
- lref: cross-reference to a language
- iref: (language it's filed under in parenthesis) cross-reference
- to an implamentation
-
- -------------------------------------------------------------------------------
- tools
- -------------------------------------------------------------------------------
-
- scripting languages
- -------------------------------------------------------------------------------
- category: scripting languages
- description: These are languages that are primarily interpreted, and on
- unix sytems, can ususally be invoked directly from a text
- using #!.
-
- language: ABC
- package: ABC
- version: 1.04.01
- parts: interpreter/compiler
- author: Leo Geurts, Lambert Meertens,
- Steven Pemberton <Steven.Pemberton@cwi.nl>
- how to get: ftp programming/languages/abc/* from ftp.eu.net or ftp.nluug.nl
- description: ABC is an imperative language embedded in its own environment.
- It is interactive, structured, high-level, very easy to learn,
- and easy to use. It is suitable for general everyday
- programming, such as you would use BASIC, Pascal, or AWK for.
- It is not a systems-programming language. It is an excellent
- teaching language, and because it is interactive, excellent for
- prototyping. ABC programs are typically very compact, around a
- quarter to a fifth the size of the equivalent Pascal or C
- program. However, this is not at the cost of readability, on
- the contrary in fact.
- reference: "The ABC Programmer's Handbook" by Leo Geurts,
- Lambert Meertens and Steven Pemberton, published by
- Prentice-Hall (ISBN 0-13-000027-2)
- "An Alternative Simple Language and Environment for PCs"
- by Steven Pemberton, IEEE Software, Vol. 4, No. 1,
- January 1987, pp. 56-64.
- ports: unix, MSDOS, atari, mac
- discussion: abc-list-request@cwi.nl
- contact: abc@cwi.nl
- updated: 1991/05/02
-
- language: awk (new)
- package: mawk
- version: 1.1.3
- parts: interpreter
- author: Mike Brennan <brennan@bcsaic.boeing.com>
- how to get: ftp public/mawk* from oxy.edu
- description: ?
- conformance: superset
- + RS can be a regular expression
- features: + faster than most new awks
- ports: sun3,sun4:sunos4.0.3 vax:bsd4.3,ultrix4.1 stardent3000:sysVR3
- decstation:ultrix4.1 msdos:turboC++
- status: actively developed
- contact: Mike Brennan <brennan@bcsaic.boeing.com>
- updated: 1993/03/14
-
- language: awk (new)
- package: GNU awk (gawk)
- version: 2.15.3
- parts: interpreter, documentation
- author: David Trueman <david@cs.dal.ca> and
- Arnold Robbins <arnold@cc.gatech.edu>
- how to get: ftp gawk-2.15.tar.Z from a GNU archive site
- description: ?
- conformance: superset including some Plan 9 features
- ports: unix, msdos:msc5.1
- status: activly developed
- updated: 1993/11/08
-
- language: BASIC
- package: bwBASIC (Bywater BASIC interpreter)
- version: 2.10
- parts: interpreter, shell, ?
- author: Ted A. Campbell <tcamp@delphi.com>
- how to get: comp.sources.misc volume 40
- description: The Bywater BASIC Interpreter (bwBASIC) implements a large
- superset of the ANSI Standard for Minimal BASIC (X3.60-1978)
- implemented in ANSI C, and offers a simple interactive environ-
- ment including some shell program facilities as an extension of
- BASIC. The interpreter has been compiled successfully on a
- range of ANSI C compilers on varying platforms with no
- alterations to source code necessary.
- ports: DOS, Unix, Acorn's RISC OS
- updated: 1993/10/29
-
- language: BASIC
- package: ? basic ?
- version: ?
- parts: paser(yacc), interpreter
- author: ?
- how to get: comp.sources.unix archives volume 2
- description: ?
- updated: ?
-
- language: BASIC
- package: ? bournebasic ?
- version: ?
- parts: interpreter
- author: ?
- how to get: comp.sources.misc archives volume 1
- description: ?
- updated: ?
-
- language: BASIC
- package: ubasic
- version: 8
- parts: ?
- author: Yuji Kida
- how to get: ? ask archie ?
- description: ?
- reference: reviewed in Notices of the A.M.S #36 (May/June 1989),
- and "A math-oriented high-precision BASIC", #38 (3/91)
- contact: ?
- updated: 1992/07/06
-
- language: BASIC
- package: ?
- version: ?
- parts: interpreter
- author: ?
- how to get: ftp pub/unix-c/languages/basic/basic.tar-z from oak.oakland.edu
- description: public domain version of DEC's MU-Basic with Microsoft
- Basic mixed together
- contact: ?
- updated: ?
-
- language: Bourne Shell
- package: ash
- version: ?
- parts: interpreter, manual page
- author: Kenneth Almquist
- how to get: ftp from any 386BSD, NetBSD, or FreeBSD archive
- linux: ftp pub/linux/ports/ash-linux-0.1.tar.gz from ftp.win.tue.nl
- description: A Bourne Shell clone. It works pretty well. For running
- scripts, it is sometimes better and sometimes worse than Bash.
- ports: 386BSD, NetBSD, FreeBSD, Linux
- updated: ?
-
- language: csh (C-Shell)
- package: tcsh
- version: 6.04
- parts: interpreter
- author: Christos Zoulas <christos@ee.cornell.edu>
- how to get: ftp ? from ftp.spc.edu
- description: a modified C-Shell with history editing
- ports: unix, OpenVMS
- updated: 1993/07/09
-
- language: ERGO-Shell (a window-based Unix shell)
- package: ERGO-Shell
- version: 2.1
- parts: interpreter
- author: Regine Freitag <freitag@gmd.de>
- how to get: ftp gmd/ergo/? from ftp.gmd.de
- description: An ergonomic window-based Unix shell for software engineers.
- [Can one program in ERGO-Shell? --ed]
- bugs: Relative path names are not expanded on the SUN 3 port,
- expansion ability on SUN 4 only on certain conditions.
- requires: Needs X-windows (X11R4) or OSF/Motif (revision 1.1)
- ports: Sun 4
- contact: Dr. Wolfgang Dzida, GMD <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>
- how to get: ftp pub/es/es-0.84.tar.Z from ftp.sys.utoronto.ca
- description: shell with higher order functions
- + builtin features implemented as redefineable functions
- updated: 1993/04/30
-
- language: Glish
- package: glish
- version: 2.4.1
- parts: interpreter, C++ class library, user manual
- author: Vern Paxson <vern@ee.lbl.gov>
- how to get: ftp glish/glish-2.4.1.tar.Z from ftp.ee.lbl.gov
- description: Glish is an interpretive language for building loosely-coupled
- distributed systems from modular, event-oriented programs.
- These programs are written in conventional languages such as C,
- C++, or Fortran. Glish scripts can create local and remote
- processes and control their communication. Glish also provides
- a full, array-oriented programming language (similar to S) for
- manipulating binary data sent between the processes. In
- general Glish uses a centralized communication model where
- interprocess communication passes through the Glish
- interpreter, allowing dynamic modification and rerouting of
- data values, but Glish also supports point-to-point links
- between processes when necessary for high performance.
- reference: "Glish: A User-Level Software Bus for Loosely-Coupled
- Distributed Systems," Vern Paxson and Chris Saltmarsh,
- Proceedings of the 1993 Winter USENIX Conference, San Diego,
- CA, January, 1993.
- requires: C++
- ports: SunOS, Ultrix, HP/UX (rusty)
- updated: 1993/11/01
-
- language: ici
- package: ici
- version: ?
- parts: interpreter, documentation, examples
- author: Tim Long
- how to get: ftp pub/ici.cpio.Z from extro.ucc.su.oz.au
- description: ICI has dynamic arrays, structures and typing with the flow
- control constructs, operators and syntax of C. There are
- standard functions to provided the sort of support provided
- by the standard I/O and the C libraries, as well as additional
- types and functions to support common needs such as simple
- data bases and character based screen handling.
- features: + direct access to many system calls
- + structures, safe pointers, floating point
- + simple, non-indexed built in database
- + terminal-based windowing library
- ports: Sun4, 80x86 Xenix, NextStep, MSDOS
- portability: high
- status: actively developed.
- discussion: send "help" to listserv@research.canon.oz.au
- contact: Andy Newman <andy@research.canon.oz.au>
- updated: 1992/11/10
-
- language: Icon
- package: icon
- version: 8.7 (8.5, 8.0 depending on platform)
- parts: interpreter, compiler (some platforms), library (v8.8)
- author: Ralph Griswold <ralph@CS.ARIZONA.EDU>
- how to get: ftp icon/* from cs.arizona.edu
- description: Icon is a high-level, general purpose programming language that
- contains many features for processing nonnumeric data,
- particularly for textual material consisting of string of
- characters.
- - no packages, one name-space
- - no exceptions
- + object oiented features
- + records, sets, lists, strings, tables
- + unlimited line length
- - unix interface is primitive
- + co-expressions
- reference: "The Icon Programmming Language", Ralph E. Griswold and
- Madge T. Griswold, Prentice Hall, seond edition, 1990.
- "The Implementation of the Icon Programmming Language",
- Ralph E. Griswold and Madge T. Griswold, Princeton
- University Press 1986
- ports: Amiga, Atari, CMS, Macintosh, Macintosh/MPW, MSDOS, MVS, OS/2,
- Unix (most variants), VMS, Acorn
- discussion: comp.lang.icon
- contact: icon-project@cs.arizona.edu
- updated: 1992/08/21
-
- language: Icon
- iref: (BNF) ibpag2
-
- language: IVY
- package: Ivy
- version: experimental
- parts: interpreter
- author: Joseph H Allen <jhallen@world.std.com>
- how to get: 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>
- how to get: ftp pub/amiga/incom*/utils/SKsh021.lzh from hubcap.clemson.edu
- description: SKsh is a Unix ksh-like shell which runs under AmigaDos.
- it provides a Unix like environment but supports many
- AmigaDos features such as resident commands, ARexx, etc.
- Scripts can be written to run under either ksh or SKsh,
- and many of the useful Unix commands such as xargs, grep,
- find, etc. are provided.
- ports: Amiga
- updated: 1992/12/16
-
- language: Korn Shell
- package: Bash (Bourne Again SHell)
- version: 1.13.4
- parts: parser(yacc), interpreter, documentation
- author: Brian Fox <bfox@vision.ucsb.edu>
- how to get: ftp bash-1.12.tar.Z from a GNU archive site
- description: Bash is a Posix compatable shell with full Bourne shell syntax,
- and some C-shell commands built in. The Bourne Again Shell
- supports emacs-style command-line editing, job control,
- functions, and on-line help.
- bugs: gnu.bash.bug, bug-bash@prep.ai.mit.edu
- restriction: GNU General Public License
- updated: 1993/11/15
-
- language: Korn Shell
- package: pdksh
- version: 4.9
- parts: interpreter
- author: Simon J. Gerraty <sjg@zen.void.oz.au>
- how to get: comp.sources.misc volume 4
- description: It is not intended to be the ultimate shell but rather a usable
- ksh work alike.
- conformance: Almost identical to ksh88, but missing arrays
- contact: Simon J Gerraty <sjg@melb.bull.oz.au> (zen.void.oz.au is down)
- ports: Sun, 386bsd, ?
- updated: 1993/10/11
-
- language: Perl5 (Practical Extraction and Report Language)
- package: perl
- version: 5.0 alpha 3
- parts: interpreter, debugger, libraries, tests, documentation
- author: Larry Wall <lwall@netlabs.com>
- how to get: ftp pub/perl5.0/* from ftp.netlabs.com
- description: perl5 is a major rewrite and enhancement to perl4. It adds
- real data structures (by way of "references"), un-adorned
- subroutine calls, and method inheritance. It is not
- stable (yet).
- ports: SunOS
- updated: 1993/11
-
- language: Perl (Practical Extraction and Report Language)
- package: perl
- version: 4.0 patchlevel 36
- parts: interpreter, debugger, libraries, tests, documentation
- author: Larry Wall <lwall@netlabs.com>
- how to get: ftp pub/perl.4.0/* from jpl-devvax.jpl.nasa.gov
- OS/2 port: ftp pub/os2/all/unix/prog*/perl4019.zip from hobbes.nmsu.edu
- Mac port: ftp software/mac/src/mpw_c/Mac_Perl_405_* from nic.switch.ch
- Amiga port: ftp perl4.035.V010.* from wuarchive.wustl.edu
- VMS port: ftp software/vms/perl/* from ftp.pitt.edu
- Atari port: ftp amiga/Languages/perl* from atari.archive.umich.edu
- DOS port: ftp pub/msdos/perl/* from ftp.ee.umanitoba.ca
- DOS port#2: ftp pub/msdos/perl/bperl* from oak.oakland.edu
- Windows NT: ftp ? from rhino.microsoft.com
- MVS: ftp dist/perl-4036.tar.Z from oozelum.csi.cam.ac.uk
- Netware: contact Jack Thomasson <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 [??? --ed]
- The perl FAQ, ftp from rtfm.mit.edu
- features: + very-high semantic density becuase of powerful operators
- like regular expression substitution
- + exceptions, provide/require
- + associative array can be bound to dbm files
- + no arbitrary limits
- + direct access to almost all system calls
- + can access binary data
- + many powerful idioms for common tasks
- + 8-bit clean, including nulls
- - three variable types: scalar, array, and hash table
- - syntax requires variable and function prefix characters
- bugs: comp.lang.perl; Larry Wall <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
- how to get: comes with perl
- description: translators to turn awk, sed, and find programs into perl programs.
- updated: ?
-
- language: perl, yacc
- package: perl-byacc
- version: 1.8.2
- parts: parser-generator(perl)
- author: Rick Ohnemus <rick@IMD.Sterling.COM>
- how to get: ftp local/perl-byacc.tar.Z from ftp.sterling.com
- description: A modified version of byacc that generates perl code. Has '-p'
- switch so multiple parsers can be used in one program (C or
- perl).
- portability: Should work on most (?) Unix systems. Also works with
- SAS/C 6.x on AMIGAs.
- updated: 1993/01/24
-
- language: Perl
- package: perl profiler.
- version: ? 1
- parts: profiler
- author: Anthony Iano-Fletcher <arf@maths.nott.ac.uk>
- how to get: Source posted on comp.lang.perl in mid-June 1993
- description: Profiles Perl scripts (mkpprof).
- Collates data from Perl scripts (pprof)
- updated: 1993/06/17
-
- language: Perl
- package: Dylperl
- version: ?
- author: Roberto Salama <rs@fi.gs.com>
- how to get: posted to comp.lang.perl, 1993/08/11, <CBM3Bo.Lpw@fi.gs.com>
- description: A dynamic linking package for perl. Dynamically-loaded
- functions are accessed as if they were user-defined funtions.
- This code is based on Oliver Sharp's May 1993 article in
- Dr. Dobbs Journal (Dynamic Linking under Berkeley UNIX).
- ports: ?
- updated: 1993/08/11
-
- language: Perl
- package: curseperl
- version: ?
- author: Larry Wall <lwall@netlabs.com>
- how to get: comes with perl
- description: A curses library for perl
- updated: ?
-
- language: Python
- package: Python
- version: 0.9.9
- parts: interpeter, libraries, documentation, emacs macros
- author: Guido van Rossum <guido@cwi.nl>
- how to get: ftp pub/python* from ftp.cwi.nl
- N.America: ftp pub/? from wuarchive.wustl.edu
- description: Python is a simple, yet powerful programming language
- that bridges the gap between C and shell programming,
- and is thus ideally suited for rapid prototyping. Its
- syntax is put together from constructs borrowed from a
- variety of other languages; most prominent are
- influences from ABC, C, Modula-3 and Icon. Python is
- object oriented and is suitable for fairly large programs.
- + packages
- + exceptions
- + good C interface
- + dynamic loading of C modules
- - arbitrary restrictions
- ports: unix and Macintosh
- discussion: python-list-request@cwi.nl
- updated: 1993/07/31
-
- language: Q (also small subsets of Common Lisp and Scheme)
- package: Q
- version: ? 1
- parts: interpreter, compiler framework, libraries, documentation
- author: Per Bothner <bothner@cygnus.com>
- how to get: ftp pub/Q.* from ftp.cygnus.com
- description: Q is a very high-level programming language, and a test-bed
- for programming language ideas. Where APL uses arrays
- to explicit looping, Q uses generalized sequences
- (finite or infinite, stored or calculated on demand).
- It has lexical scoping, and some support for logical and
- constraint programming. The syntax was designed for
- convenient interactive use. A macro facility together
- with primitives to run programs is used to make an
- interactive command language with full shell features.
- The Q system is written in C++, and its run-time code
- may be useful to people implementing other languages.
- ports: Linux and SUN 4
- portability: Should work on 32-bit Unix-like systems
- updated: 1993/06/07
-
- language: REXX
- package: The Regina Rexx Interpreter
- version: 0.05i
- parts: interpreter, documentation, test programs
- author: Anders Christensen <anders@pvv.unit.no>
- how to get: ftp pub/rexx/regina-0.05g.tar.Z from flipper.pvv.unit.no
- N.America: ftp pub/freerexx/regina/regina-0.05d.tar.Z
- from rexx.uwaterloo.ca
- description: A Rexx interpreter. The VMS version has an almost complete
- set of DCL lexical functions in the interpreter. Ports to
- MS-DOS and OS/2 exist by lack special support for these
- platforms.
- conformance: Almost completely to Rexx Language Level 4.00 with some
- Rexx SAA API extensions.
- restriction: GNU General Public License
- ports: Unix, VMS, MS-DOS (partial), OS/2 (partial)
- discussion: comp.lang.rexx
- updated: 1993/10/15
-
- language: REXX
- package: ?
- version: 102
- parts: interpreter
- author: ? al ?
- how to get: ftp alrexx/rx102.tar.Z from rexx.uwaterloo.ca
- USA: ftp ? from tony.cat.syr.edu
- description: ?
- requires: C++
- ports: unix
- discussion: comp.lang.rexx
- contact: ?
- updated: 1992/05/13
-
- language: REXX
- package: imc
- version: 1.3
- parts: interpreter
- author: ?
- how to get: ftp pub/freerexx/imc/rexx-imc-1.3.tar.Z from rexx.uwaterloo.ca
- description: ?
- ports: SunOS
- updated: ?
-
- language: sed
- package: GNU sed
- version: 2.03
- parts: interpreter, ?
- author: Tom Lord <lord+@andrew.cmu.edu>
- how to get: ftp sed-* from a GNU archive site
- description: A SED interpreter. Sed is a stream editing filter language.
- bugs: bug-gnu-utils@prep.ai.mit.edu
- updated: 1993/08/09
-
- language: rc (Plan 9 shell)
- package: rc
- version: 1.4
- parts: interpretor
- author: Byron Rakitzis <byron@netapp.com>
- how to get: ftp pub/rc/* from ftp.white.toronto.edu
- description: a free implementation of the Plan 9 shell.
- discussion: rc-request@hawkwind.utcs.toronto.edu
- updated: 1992/05/26
-
- language: S-Lang
- package: slang
- version: 0.94
- parts: interpreter, documentation, examples
- author: John E. Davis <davis@amy.tch.harvard.edu>
- how to get: ftp pub/slang/* from amy.tch.harvard.edu
- description: A small but highly functional embedded interpreter. S-Lang was
- a stack-based postfix language resembling Forth and BC/DC with
- limited support for infix notation. Now it has a C-like infix
- syntax. Arrays, Stings, Integers, Floating Point, and
- Autoloading are all suported. The editor JED embeds S-lang.
- restrictions: GNU Library General Public License
- ports: MSDOS, Unix, VMS
- portability: Must be compiled with large memory model on MSDOS.
- updated: 1993/06/12
-
- language: Snobol4
- package: SIL (Macro Implementation of SNOBOL4)
- version: 3.11
- parts: ?
- author: ?
- how to get: ftp snobol4/* from cs.arizona.edu
- description: ?
- contact: snobol4@arizona.edu
- updated: 1986/07/29
-
- language: Snobol4
- package: vanilla
- version: ?
- parts: ?
- author: Catspaw, Inc.
- how to get: ftp snobol4/vanilla.arc from cs.arizona.edu
- description: ?
- ports: MSDOS
- contact: ?
- updated: 1992/02/05
-
- language: ssh (Steve's Shell)
- package: ssh
- version: 1.7
- parts: interpreter
- author: Steve Baker <ice@judy.indstate.edu> with help from Thomas Moore
- how to get: comp.sources.unix volume 26
- description: A unix shell with a lot of csh/ksh-like features.
- ports: sequent, sun, next, ultrix, bsdi
- updated: 1993/04/15
-
- language: TCL (Tool Command Language)
- package: Tcl
- version: 7.2
- parts: interpreter, libraries, tests, documentation
- author: John Ousterhout <ouster@cs.berkeley.edu>
- how to get: ftp ucb/tcl/tcl* from ftp.cs.berkeley.edu
- MSDOS: ftp ? from cajal.uoregon.edu
- Macintosh: ftp pub/ticl from bric-a-brac.apple.com
- Macintosh: ftp pub/tcl/distrib/MacTcl7.0.sea.* from harbor.ecn.purdue.edu
- Examples: ftp tcl/* from barkley.berkeley.edu
- Kanji: ftp pub/lang/tcl/jp/tk3.2jp-patch.Z from srawgw.sra.co.jp
- description: TCL started out as a small language that could be
- embedded in applications. It has now been extended
- into more of a general purpose shell type programming
- language. TCL is like a text-oriented Lisp, but lets
- you write algebraic expressions for simplicity and to
- avoid scaring people away.
- + may be used as an embedded interpreter
- + exceptions, packages (called libraries)
- - only a single name-space
- + provide/require
- - no dynamic loading ability
- + 8-bit clean
- - only three variable types: strings, lists, associative arrays
- bugs: ?
- ports: ?
- discussion: comp.lang.tcl
- updated: 1993/11/15
-
- language: TCL, Tk
- package: Tk
- version: 3.5
- parts: Tcl interpreter, Tk?
- author: John Ousterhout <ouster@sprite.Berkeley.EDU>
- how to get: ftp ucb/tcl/tk* from ftp.cs.berkeley.edu
- description: Tk is a X11 gui library that is designed to interoperate
- with TCL. It provides a very easy way to create sophisticated
- applications. The appearence of Tk is very similar to Motif.
- updated: 1993/11/15
-
- language: TCL
- package: BOS - The Basic Object System
- version: 1.31
- parts: library
- author: Sean Levy <Sean.Levy@cs.cmu.edu>
- how to get: ftp tcl/? from barkley.berkeley.edu
- description: BOS is a C-callable library that implements the
- notion of object and which uses Tcl as its interpreter
- for interpreted methods (you can have "compiled"
- methods in C, and mix compiled and interpreted
- methods in the same object, plus lots more stuff).
- I regularly (a) subclass and (b) mixin existing
- objects using BOS to extend, among other things,
- the set of tk widgets (I have all tk widgets wrapped
- with BOS "classes"). BOS is a class-free object
- system, also called a prototype-based object system;
- it is modeled loosely on the Self system from
- Stanford.
- updated: 1992/08/21
-
- language: TCL
- package: Tcl-DP
- version: 3.0
- parts: library
- author: Larry Rowe ?
- how to get: ftp pub/multimedia/Tcl-DP from toe.cs.berkeley.edu
- description: Tcl-DP extends the "send" by removing the restriction
- that you can only send to other clients of the same
- X11 server. [could someone give a better description? --ed]
- updated: ?
-
- language: TCL
- package: Wafe
- version: 0.95
- parts: interface
- author: Gustaf Neumann <neumann@watson.ibm.com>
- how to get: ftp pub/src/X11/wafe/wafe-0.95.tar.gz from ftp.wu-wien.ac.at
- description: Wafe (Widget[Athena]front end) is a package that implements
- a symbolic interface to the Athena widgets (X11R5) and
- OSF/Motif. A typical Wafe application consists of two
- parts: a front-end (Wafe) and an application program which
- runs typically as a separate process. The distribution
- contains sample application programs in Perl, GAWK, Prolog,
- TCL, C and Ada talking to the same Wafe binary.
- discussion: send "subscribe Wafe <Your Name>" to listserv@wu-wien.ac.at
- portability: very high, just needs X11R4 or X11R5.
- updated: 1993/07/01
-
- language: TCL
- package: Extended Tcl (tclx)
- version: 7.2a
- parts: library
- author: Mark Diekhans <markd@NeoSoft.com>, Karl ?
- how to get: ftp pub/tcl/beta/tclX7.1a-B5.tar.Z from ftp.neosoft.com
- description: Extended Tcl adds statements to the TCL language to provide
- high-level access unix system primitives.
- contact: tcl-project@NeoSoft.com
- updated: 1993/11/19
-
- language: TCL
- package: tcl-debug
- version: ?
- parts: debugger
- author: Don Libes <libes@cme.nist.gov>
- how to get: ftp pub/expect/tcl-debug.tar.Z from ftp.cme.nist.gov
- description: A debugger for Tcl that can be easily embedded in other
- applications. It is included with many other Tcl libraries.
- updated: ?
-
- language: TCL
- package: Cygnus Tcl Tools
- version: Release-930124
- parts: ?
- author: david d 'zoo' zuhn <zoo@cygnus.com>
- how to get: ftp pub/tcltools-* from cygnus.com
- description: A rebundling of Tcl and Tk into the Cyngus GNU build
- framework with 'configure'.
- updated: 1993/01/24
-
- language: Z-shell
- package: zsh
- version: 2.3.1 (2.4 in beta)
- parts: interpreter
- author: Paul Falstad <pf@ttisms.com>
- how to get: ftp pub/bas/zsh/zsh-*.tar.z from carlo.phys.uva.nl
- description: zsh is most similar to ksh, while many of the additions are to
- please csh users.
- features: + multi-line commands editable as a single buffer,
- + variable editing (vared),
- + command buffer stack,
- + recursive globbing,
- + manipulation of arrays,
- + spelling correction.
- ports: Berkeley-based Unix, SVR4-based Unix
- discussion: zsh-request@cs.uow.edu.au
- contact: zsh-list@cs.uow.edu.au
- updated: 1993/03/23
-
- functional languages
- -------------------------------------------------------------------------------
- category: functional languages
- description: [someone have a good one-liner? --ed]
- lref: es
- lref: LIFE
- lref: ALLOY
-
- language: Caml
- package: CAML
- version: 3.1
- parts: compiler, interactive development environment
- author: Ascander Suarez, Pierre Weis, Michel Mauny, others (INRIA)
- how to get: ftp lang/caml/* from ftp.inria.fr
- description: Caml is a programming language from the ML/Standard ML family,
- with functions as first-class values, static type inference
- with polymorphic types, user-defined variant and product
- types, and pattern-matching. The CAML V3.1 implementation
- adds lazy and mutable data structures, a "grammar" mechanism
- for interfacing with the Yacc parser generator,
- pretty-printing tools, high-performance arbitrary-precision
- arithmetic, and a complete library.
- bugs: caml@margaux.inria.fr
- ports: Sun-3 Sun-4 Sony-68k Sony-R3000 Decstation Mac-A/UX Apollo
- portability: low (built on a propietary runtime system)
- status: maintained but no longer developed
- discussion: caml-list@margaux.inria.fr, comp.lang.ml
- contact: Pierre Weis <Pierre.Weis@inria.fr>
- updated: 1991/10/20
-
- language: Caml
- package: Caml Light
- version: 0.6
- parts: bytecode compiler, emacs mode, libraries, scanner generator,
- parser generator, runtime, interactive development environment
- author: Xavier Leroy, Damien Doligez (INRIA)
- how to get: ftp lang/caml-light/* from ftp.inria.fr
- description: Caml is a programming language from the ML/Standard ML family,
- with functions as first-class values, static type inference
- with polymorphic types, user-defined variant and product
- types, and pattern-matching. The Caml Light implementation
- adds a Modula-2-like module system, separate compilation,
- lazy streams for parsing and printing, graphics primitives,
- and an interface with C.
- features: very small
- bugs: caml-light@margaux.inria.fr
- ports: most unix, Macintosh, MSDOS (16 and 32 bit modes), Atari ST
- portability: very high
- status: actively developed
- discussion: caml-list@margaux.inria.fr, comp.lang.ml
- contact: Xavier Leroy <Xavier.Leroy@inria.fr>
- updated: 1993/10/06
-
- language: Concurrent Clean
- package: The Concurrent Clean System
- version: 0.8.1
- parts: development environment, documentation, compiler(byte-code),
- compiler(native), interpreter(byte-code), examples
- author: Research Institute for Declarative Systems,
- University of Nijmegen
- how to get: ftp pub/Clean/* from ftp.cs.kun.nl
- description: The Concurrent Clean system is a programming environment for
- the functional language Concurrent Clean, developed at the
- University of Nijmegen, The Netherlands. The system is one of
- the fastest implementations of functional languages available
- at the moment. Its I/O libraries make it possible to do modern,
- yet purely functional I/O (including windows, menus, dialogs
- etc.) in Concurrent Clean. With the Concurrent Clean system it
- is possible to develop real-life applications in a purely
- functional language.
- * lazy and purely functional
- * strongly typed - based on Milner/Mycroft scheme
- * module structure
- * modern I/O
- * programmer-infulenced evaluation order by annotations
- ports: Sun-3, Sun-4, Macintosh
- contact: clean@cs.kun.nl
- updated: 1992/11/07
-
- language: FP
- package: ? funcproglang ?
- version: ?
- parts: translator(C)
- author: ?
- how to get: comp.sources.unix archive volume 13
- description: ? Backus Functional Programming ?
- updated: ?
-
- language: Gofer (Haskell derivative)
- package: Gofer
- version: 2.28b
- parts: interpreter, compiler(->C), documentation, examples
- author: Mark Jones <jones-mark@cs.yale.edu>
- how to get: ftp pub/haskell/gofer/* from nebula.cs.yale.edu
- UK: ftp pub/haskell/gofer/* from ftp.dcs.glasgow.ac.uk
- Sweden: ftp pub/haskell/gofer/* from ftp.cs.chalmers.se
- description: Gofer is based quite closely on the Haskell programming
- language, version 1.2. It supports lazy evaluation, higher
- order functions, pattern matching, polymorphism, overloading
- etc and runs on a wide range of machines.
- conformance: Gofer does not implement all of Haskell, although it is
- very close.
- ports: many, including Sun, PC, Mac, Atari, Amiga
- status: maintained but not developed (for a while anyway)
- updated: 1993/08/02
-
- langauge: Gofer
- iref: (BNF) Ratatosk
-
- language: Haskell
- package: Chalmers Haskell (aka Haskell B.)
- version: 0.999.5
- parts: compiler, interpreter, library, documentation, examples
- author: Lennart Augustsson <augustss@cs.chalmers.se>
- how to get: ftp pub/haskell/chalmers/* from nebula.cs.yale.edu
- UK: ftp pub/haskell/chalmers/* from ftp.dcs.glasgow.ac.uk
- Sweden: ftp pub/haskell/chalmers/* from ftp.cs.chalmers.se
- description: Full-featured implementation of Haskell 1.2,
- with quite a few "Haskell B" extensions
- requires: LML
- ports: many, including Sun, DEC, Sequent, PC, Symmetry
- (unsupported versions for NS32000, RT/PC, CRAY, SUN3, VAX,
- ARM, and RS6000.)
- discussion: haskell-request@cs.yale.edu
- europe: haskell-request@dcs.glasgow.ac.uk
- contact: hbc@cs.chalmers.se
- updated: 1993/08/02
-
- language: Haskell
- package: Glasgow Haskell Compiler (GHC)
- version: 0.16
- parts: compiler(->C), profiler
- author: GRASP/AQUA project, headed by Simon Peyton Jones
- <simonpj@dcs.glasgow.ac.uk>
- how to get: ftp pub/haskell/glasgow/* from nebula.cs.yale.edu
- UK: ftp pub/haskell/glasgow/* from ftp.dcs.glasgow.ac.uk
- Sweden: ftp pub/haskell/glasgow/* from ftp.cs.chalmers.se
- description: + almost all of Haskell 1.2 is implemented
- + An extensible I/O system is provided, based on a "monad"
- + significant language extensions are implemented: Fully
- fledged unboxed data types, Ability to write arbitrary in-line
- C-language code, Incrementally-updatable arrays, Mutable
- reference types.
- + generational garbage collector
- + Good error messages
- + programs compiled with GHC "usually" beat
- Chalmers-HBC-compiled ones.
- + compiler is written in a modular and well-documented way.
- + Highly configurable runtime system.
- - No interactive system.
- - Compiler is greedy on resources.
- conformance: Almost all of Haskell 1.2 is implemented.
- reference: "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
- bugs: <glasgow-haskell-bugs@dcs.glasgow.ac.uk>
- requires: GNU C 2.1+, perl, either Chalmers HBC 0.998.x or GHC
- 0.10 (source build only)
- ports: Sun4, Sun3
- portability: should be high
- discussion: haskell-request@cs.yale.edu
- europe: haskell-request@dcs.glasgow.ac.uk
- contact: <glasgow-haskell-request@dcs.glasgow.ac.uk>
- updated: 1993/07/16
-
- language: Haskell
- package: Yale Haskell
- version: 2.0.5
- parts: compiler, documentation, reference manual (dvi format)
- author: Yale Haskell project <haskell-request@cs.yale.edu>
- how to get: ftp from nebula.cs.yale.edu (128.36.13.1):pub/haskell/yale/*
- how to get: ftp pub/haskell/yale/* from nebula.cs.yale.edu
- UK: ftp pub/haskell/yale/* from ftp.dcs.glasgow.ac.uk
- Sweden: ftp pub/haskell/yale/* from ftp.cs.chalmers.se
- description: ?
- features: X-window interface, available at the Haskell level too.
- requires: CMU Common Lisp, Lucid, Common Lisp, Allegro Common Lisp, or
- Harlequin LispWorks
- ports: SunOS 4.1.2, Sparc 10 (sun4m) 4.1.3
- discussion: haskell-request@cs.yale.edu
- europe: haskell-request@dcs.glasgow.ac.uk
- contact: haskell-request@cs.yale.edu
- updated: 1993/07/14
-
- language: Hope
- package: ?
- version: ?
- parts: ?
- author: ?
- how to get: ftp ? from brolga.cc.uq.oz.au
- description: Functional language with polymorphic types and lazy lists.
- First language to use call-by-pattern.
- ports: Unix, Mac, PC
- updated: 1992/11/27
-
- language: IFP (Illinois Functional Programming)
- package: ifp
- version: 0.5
- parts: interpreter
- author: Arch D. Robison <robison@shell.com>
- how to get: comp.sources.unix archive volume 10
- description: A variant of Backus' "Functional Programming" language
- with a syntax reminiscent of Modula-2. The interpreter
- is written in portable C.
- reference: [1] Arch D. Robison, "Illinois Functional Programming: A
- Tutorial," BYTE, (February 1987), pp. 115--125.
- [2] Arch D. Robison, "The Illinois Functional
- Programming Interpreter," Proceedings of 1987 SIGPLAN
- Conference on Interpreters and Interpretive Techniques,
- (June 1987), pp. 64-73
- ports: Unix, MS-DOS, CTSS (Cray)
- updated: ?
-
- language: ML
- package: LML
- version: ?
- parts: compiler(?), interactive environment
- author: ?
- how to get: ftp pup/haskell/chalmers/* from animal.cs.chalmers.se
- description: lazy, completely functional variant of ML.
- ports: ?
- contact: ?
- updated: 1992/07/06
-
- language: Standard ML
- package: SML/NJ (Standard ML of New Jersey)
- version: 0.93
- parts: compiler, libraries, extensions, interfaces, documentation,
- build facility
- author: D. B. MacQueen <dbm@research.att.com>, Lal George
- <george@research.att.com>, AJ. H. Reppy <jhr@research.att.com>,
- A. W. Appel <appel@princeton.edu>
- how to get: ftp dist/ml/* from research.att.com
- description: Standard ML is a modern, polymorphically typed, (impure)
- functional language with a module system that supports flexible
- yet secure large-scale programming. Standard ML of New Jersey
- is an optimizing native-code compiler for Standard ML that is
- written in Standard ML. It runs on a wide range of
- architectures. The distribution also contains:
- + an extensive library - The Standard ML of New Jersey Library,
- including detailed documentation.
- + CML - Concurrent ML
- + eXene - an elegant interface to X11 (based on CML)
- + SourceGroup - a separate compilation and "make" facility
- CML, eXene and SourceGroup not in the Macintosh port, but the
- Mac port has a built-in editor.
- ports: M68K, SPARC, MIPS, HPPA, RS/6000, I386/486, Macintosh
- updated: 1993/02/18
-
- language: Concurrent ML
- package: Concurrent ML
- version: 0.9.8
- parts: extension
- author: ?
- how to get: ftp pub/CML* from ftp.cs.cornell.edu or get SML/NJ
- description: Concurrent ML is a concurrent extension of SML/NJ, supporting
- dynamic thread creation, synchronous message passing on
- synchronous channels, and first-class synchronous operations.
- First-class synchronous operations allow users to tailor their
- synchronization abstractions for their application. CML also
- supports both stream I/O and low-level I/O in an integrated
- fashion.
- bugs: sml-bugs@research.att.com
- requires: SML/NJ 0.75 (or later)
- updated: 1993/02/18
-
- language: SASL
- iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
-
- language: Standard ML
- package: sml2c
- version: ?
- parts: compiler(->C), documentation, tests
- author: School of Computer Science, Carnegie Mellon University
- how to get: ftp /usr/nemo/sml2c/sml2c.tar.Z from dravido.soar.cs.cmu.edu
- Linux: ftp pub/linux/smlnj-0.82-linux.tar.Z from ftp.dcs.glasgow.ac.uk
- description: sml2c is a Standard ML to C compiler. sml2c is a batch
- compiler and compiles only module-level declarations,
- i.e. signatures, structures and functors. It provides
- the same pervasive environment for the compilation of
- these programs as SML/NJ. As a result, module-level
- programs that run on SML/NJ can be compiled by sml2c
- without any changes. Based on SML/NJ version 0.67 and shares
- front end and most of its runtime system, but does not support
- SML/NJ style debugging and profiling.
- conformance: superset
- + first-class continuations,
- + asynchronous signal handling
- + separate compilation
- + freeze and restart programs
- ports: IBM-RT Decstation3100 Omron-Luna-88k Sun-3 Sun-4 386(Mach)
- portability: easy, easier than SML/NJ
- contact: david.tarditi@cs.cmu.edu anurag.acharya@cs.cmu.edu
- peter.lee@cs.cmu.edu
- updated: 1991/06/27
-
- language: Standard ML
- package: The ML Kit
- version: 1
- parts: interprter, documentation
- author: Nick Rothwell, David N. Turner, Mads Tofte <tofte@diku.dk>,
- and Lars Birkedal at Edinburgh and Copenhagen Universities.
- how to get: ftp diku/users/birkedal/* from ftp.diku.dk
- UK: ftp export/ml/mlkit/* from lfcs.ed.ac.uk
- description: The ML Kit is a straight translation of the Definition of
- Standard ML into a collection of Standard ML modules. For
- example, every inference rule in the Definition is translated
- into a small piece of Standard ML code which implements it. The
- translation has been done with as little originality as
- possible - even variable conventions from the Definition are
- carried straight over to the Kit. The Kit is intended as a
- tool box for those people in the programming language community
- who may want a self-contained parser or type checker for full
- Standard ML but do not want to understand the clever bits of a
- high-performance compiler. We have tried to write simple code
- and modular interfaces.
- updated: 1993/03/12
-
- language: SISAL 1.2
- package: The Optimizing SISAL Compiler
- version: 12.0
- parts: compiler?, manuals, documentation, examples, debugger,...
- author: David C. Cann <cann@sisal.llnl.gov>
- how to get: ftp pub/sisal from sisal.llnl.gov
- description: Sisal is a functional language designed to be competitive with
- Fortran, and other imperative languages for scientific jobs.
- In particualar, OSC uses advanced optimizing techniques to
- achieve fast speeds for computation intensive programs.
- It also features routines for making efficient use
- of parallel processors, such as that on the Cray.
- ports: ?
- updated: ?
-
- C variants
- -------------------------------------------------------------------------------
- category: C variants
- description: These are languages that are closely based on C.
- lref: C-Refine, C++-Refine, *-Refine
- lref: (C,Duel) Duel (a <practical> C debugging language)
-
- language: C, C++, Objective-C, RTL
- package: GNU CC (gcc)
- version: 2.5.5
- parts: compiler, runtime, examples, documentation
- Library listed separately
- author: Richard Stallman <rms@gnu.ai.mit.edu> and others
- how to get: ftp gcc-2.4.5.tar.gz from a GNU archive site
- msdos: ftp pub/msdos/djgpp/* from omnigate.clarkson.edu
- Macintosh: ftp mpw-gcc-1.37.1r14 from ?
- description: A very high quality, very portable compiler for C, C++,
- Objective-C. The compiler is designed to support multiple
- front-ends and multiple back-ends by translating first
- into RTL (Register Transfer Language) and from there into
- assembly for the target architecture. Front ends for
- Ada, Pascal, and Fortran are all under development.
- conformance: C: superset of K&R C and ANSI C.
- C++: not exactly cfront 3.0? [could someone tell me which
- version of cfront it is equivalent to, if any? --ed]
- Objective-C: ?
- bugs: gnu.gcc.bug
- restriction: GNU General Public License
- ports: 3b1, a29k, aix385, alpha, altos3068, amix, arm, convex,
- crds, elxsi, fx2800, fx80, genix, hp320, clipper,
- i386-{dos,isc,sco,sysv.3,sysv.4,mach,bsd,linux,windows,OS/2},
- iris,i860, i960, irix4, m68k, m88ksvsv.3, mips-news,
- mot3300, next, ns32k, nws3250-v.4, hp-pa, pc532,
- plexus, pyramid, romp, rs6000, sparc-sunos,
- sparc-solaris2, sparc-sysv.4, spur, sun386, tahoe, tow,
- umpis, vax-vms, vax-bsd, we32k, hitachi-{SH,8300}
- portability: very high in the theory, somewhat annoying in practice
- status: actively developed
- discussion: gnu.gcc.help
- announcements: gnu.gcc.announce
- updated: 1993/11/27
-
- language: C
- package: GNU C Library (glibc)
- version: 1.06
- parts: library
- author: ?
- how to get: ftp glibc-1.06.tar.Z from a GNU archive site
- Source for "crypt" must be FTP'ed from non-USA site if you are
- outside the USA (site: glibc-1.06-crypt.tar.z from
- ftp.uni-c.dk [129.142.6.74]).
- description: The run-time library for the GNU C compiler, gcc. The source
- for libc.a. This package is separately maintained.
- conformance: ANSI and POSIX.1 superset. Large subset of POSIX.2
- bugs: Reports sent to mailing list bug-glibc@prep.ai.mit.edu.
- updated: 1993/06/25
-
- language: C
- package: c68/c386
- version: 4.2a
- parts: compiler
- author: Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker
- how to get: ftp pub/Minix/common-pkgs/c386-4.2.tar.Z from bugs.nosc.mil
- description: K&R C plus prototypes and other ANSI features.
- targetted to several 68k and i386 assemblers, incl. gas.
- floating point support by inline code or emulation.
- lots of available warnings. better code generation than ACK.
- ports: 386 and 68k Minix. generic unix actually.
- status: actively worked on by the Walkers.
- discussion: comp.os.min
- updated: ?
-
- language: C
- package: GNU superoptimizer
- version: 2.2
- parts: exhaustive instruction sequence optimizer
- author: Torbjorn Granlund <tege@gnu.ai.mit.edu> with Tom Wood
- how to get: ftp superopt-2.2.tar.Z from a GNU archive site
- description: GSO is a function sequence generator that uses an exhaustive
- generate-and-test approach to find the shortest instruction
- sequence for a given function. You have to tell the
- superoptimizer which function and which CPU you want to get
- code for.
- This is useful for compiler writers.
- bugs: Torbjorn Granlund <tege@gnu.ai.mit.edu>
- restriction: GNU General Public License
- ports: Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP)
- updated: 1993/02/16
-
- language: C
- package: xdbx
- version: 2.1
- parts: X11 front end for dbx
- author: ?
- how to get: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
- description: ?
- contact: Po Cheung <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>
- how to get: ? 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: ?
- how to get: ftp Mac/Misc/C_Interp.sit from oac2.hsc.uth.tmc.edu
- description: An interpreter for a small subset of C, originally part of a
- communications package.
- contact: ? Chuck Shotton <cshotton@oac.hsc.uth.tmc.edu>
- updated: 1993/05/14
-
- langauge: C
- package: ae (application executive)
- version: 1?
- parts: interpreter
- author: Brian Bliss <bliss@sp64.csrd.uiuc.edu> [Is this right? --ed]
- how to get: ftp pub/at.tar.Z from sp2.csrd.uiuc.edu
- description: ae (the "application executive") is a C interpreter library
- which is compiled with an application; hence, the interpreter
- exists in the same process and address space. it includes a
- dbx symbol table scanner to access compiled vars & routines, or
- you can enter them manually by providing a type/name
- declaration and the address. when the interpreter is invoked,
- source code fragments are read from the input stream (or a
- string), parsed, and evaluated immediately. The user can call
- compiled functions in addition to a few built-in intrinsics,
- declare new data types and data objects, etc. Different input
- streams can be evaluated in parallel on alliant machines.
- ports: SunOS (cc or gcc), Alliant FX, Cray YMP (soon)
- updated: 1992/04/21
-
- language: C (ANSI), lcc
- package: lcc
- version: 1.8
- parts: compiler, test suite, documentation
- author: Dave Hanson <drh@cs.princeton.edu>
- how to get: ftp pub/lcc/lccfe-*.tar.Z from princeton.edu
- description: + hand coded C parser (faster than yacc)
- + retargetable
- + code "as good as GCC"
- ports: vax (mips, sparc, 68k backends are commercial)
- status: small-scale production use using commerical backends; the
- commercial backends are cheap (free?) to universities.
- discussion: lcc-requests@princeton.edu
- updated: 1992/02/20
-
- language: C, lcc
- package: Chop
- version: 0.6
- parts: code generator
- author: Alan L. Wendt <wendt@CS.ColoState.EDU>
- how to get: ftp pub/chop/0.6.tar.Z from beethoven.cs.colostate.edu
- description: The current revision, 0.6, is interfaced with Fraser and
- Hanson's lcc front end. The result is a highly fast C compiler
- with good code selection and no global optimization.
- Project Status: Chop compiles and runs a number of small test
- programs on the Vax. I'm currently updating the NS32k and 68K
- retargets for lcc compatibility. After I get them working,
- I'll work on getting the system to compile itself, get struct
- assignments working, improve the code quality and compile
- speed, and run the SPEC benchmarks. That will be rev 1.0.
- reference: "Fast Code Generation Using Automatically-Generated Decision
- Trees", ACM SIGPLAN '90 PLDI
- updated: 1993/04/28
-
- language: C
- package: GCT
- version: 1.4
- parts: test-coverage-preprocessor
- author: Brian Marick <marick@cs.uiuc.edu>
- how to get: ftp pub/testing/gct.file/ftp.* from cs.uiuc.edu
- description: GCT is test-coverage tool based on GNU C. Coverage tools
- measure how thoroughly a test suite exercises a program.
- restriction: CopyLeft
- ports: sun3, sun4, rs/6000, 68k, 88k, hp-pa, ibm 3090,
- ultrix, convex, sco
- discussion: Gct-Request@cs.uiuc.edu
- support: commercial support available from author, (217) 351-7228
- updated: 1993/02/12
-
- language: C
- package: MasPar mpl, ampl
- version: 3.1
- parts: compiler
- author: ?
- how to get: ftp put/mpl-* from maspar.maspar.com
- description: mpl & ampl - the intrinsic parallel languages for MasPar's
- machines are C (ampl is actually a gcc port these days). You
- can get the source from marpar.com.
- contact: ?
- updated: ?
-
- language: C
- package: gc
- version: 3.4
- parts: library
- author: Hans-J. Boehm <boehm@parc.xerox.com>, Alan J. Demers
- how to get: ftp pub/russell/gc3.4.tar.Z from parcftp.xerox.com
- description: This is a garbage colecting storage allocator that is intended
- to be used as a plug-in replacement for C's malloc. Since the
- collector does not require pointers to be tagged, it does not
- attempt to ensure that all inaccessible storage is reclaimed.
- However, in our experience, it is typically more successful at
- reclaiming unused memory than most C programs using explicit
- deallocation. Unlike manually introduced leaks, the amount of
- unreclaimed memory typically stays bounded.
- ports: Sun-3, Sun-4 , Vax/BSD, Ultrix, i386/Unix, SGI, Alpha/OSF/1,
- Sequent (single threaded), Encore (single threaded),
- RS/600, HP-UX, Sony News, A/UX, Amiag, NeXT.
- updated: 1993/11/05
-
- language: C
- package: dsp56k-gcc
- version: ?
- parts: compiler
- author: ?
- how to get: ftp pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z from nic.funet.fi
- Australia: ftp pub/micros/56k/g56k.tar.Z from evans.ee.adfa.oz.au
- description: A port of gcc 1.37.1 to the Motorola DSP56000 done by
- Motorola
- contact: ?
- updated: ?
-
- language: C
- package: dsp56165-gcc
- version: ?
- parts: compiler
- author: Andrew Sterian <asterian@eecs.umich.edu>
- how to get: ftp usenet/alt.sources/? from wuarchive.wustl.edu
- description: A port of gcc 1.40 to the Motorola DSP56156 and DSP56000.
- updated: ?
-
- language: C
- package: Harvest C
- version: 1.3
- parts: compiler, assembler, linker.
- author: ?
- how to get: ftp mac/development/languages/harves* from archive.umich.edu
- description: The parts of the system are all integrated in a unique
- application, which manages a "project" composed by several C
- source files and resource files (which contain data).
- ports: Macintosh
- contact: Eric W. Sink
- updated: 1992/05/26
-
- language: C, C++
- package: Cyclo - cyclomatic complexity tool
- version: the one and only version
- parts: code analysis tool
- author: Roger D Binns
- how to get: alt.sources archive, 1993/06/28, <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.?>
- how to get: use archie
- description: A cross-reference genrator
- updated: ?
-
- language: C
- package: xref
- version: ?
- parts: code analysis tool
- author: Jim Leinweber
- how to get: use archie
- description: A cross-reference genrator
- updated: 1985?
-
- language: C, C++
- package: Xcoral
- version: 1.72
- parts: editor
- author: ?
- how to get: ftp X/contrib/clients/xcoral* from ftp.inria.fr
- description: Xcoral is a multiwindows mouse-based text editor, for X Window
- System, with a built-in browser to navigate through C functions
- and C++ classes hierarchies... Xcoral provides variables width
- fonts, menus, scrollbars, buttons, search, regions,
- kill-buffers and 3D look. Commands are accessible from menus
- or standard key bindings. Xcoral is a direct Xlib client and
- run on color/bw X Display.
- contact: ?
- updated: 1993/03/14
-
- language: C++
- package: Lily (LIsp LibrarY)
- version: 0.1
- parts: library
- author: Roger Sheldon <sheldon@kong.gsfc.nasa.gov>
- how to get: ftp uploads/lily-0.1.tar.gz from sunsite.unc.edu
- description: Lilly is a C++ class library which gives C++ programmers the
- capability to write LISP-style code. Lily's garbage collection
- mechanism is not sufficient for commercial use. The
- documentation is incomplete.
- requires: C++ (g++ or Turbo C++, but not cfront)
- restriction: GNU Library General Public License
- updated: 1993/11/08
-
- language: C++
- package: C++SIM
- version: 1.0
- parts: library
- author: Mark Little <M.C.Little@newcastle.ac.uk>
- how to get: ftp ? from arjuna.ncl.ac.uk
- description: C++SIM is a class library that provides the same sort of
- features found in the simulation class libraries of SIMULA.
- updated: 1993/06/14
-
- language: C++
- package: ? signatures for GCC 2.5.2. ?
- version: ?
- parts: patches to GNU CC, documentation
- author: Gerald Baumgartner <gb@cs.purdue.edu>
- how to get: ftp pub/gb/* from ftp.cs.purdue.edu
- description: Signatures are very similar to abstract base classes except
- that they have their own heirarchy and can be applied to
- compiled classes. They provide a means of separating
- subtyping and inheritance.
- requires: GNU CC 2.5.2
- updated: 1993/11/03
-
- language: C++
- package: aard ???
- version: ?
- parts: memory use tracer
- author: ?
- how to get: ftp pub/aard.tar.Z from wilma.cs.brown.edu
- description: We have a prototype implementation of a tool to do memory
- checking. It works by keeping track of the typestate of each
- byte of memory in the heap and the stack. The typestate can be
- one of Undefined, Uninitialized, Free or Set. The program can
- detect invalid transitions (i.e. attempting to set or use
- undefined or free storage or attempting to access uninitialized
- storage). In addition, the program keeps track of heap
- management through malloc and free and at the end of the run
- will report all memory blocks that were not freed and that are
- not accessible (i.e. memory leaks).
- The tools works using a spliced-in shared library.
- requires: Sparc, C++ 3.0.1, SunOS 4.X
- contact: Steve Reiss <spr@cs.brown.edu>
- updated: ?
-
- language: C++
- package: ET++
- version: 3.0-alpha
- parts: class libraries, documentation
- author: ?
- how to get: ftp C++/ET++/* from iamsun.unibe.ch
- description: ?
- contact: Erich Gamma <gamma@ifi.unizh.ch>
- updated: 1992/10/26
-
- language: C++
- package: C++ grammar
- version: ?
- parts: parser (yacc)
- author: ?
- how to get: comp.sources.misc volume ?
- description: [is this a copy of the Roskind grammar or something else? --ed]
- updated: 1991/10/23
-
- language: C++
- package: cppp
- version: 1.14
- parts: parser (yacc)
- author: Tony Davis <ted@cs.brown.edu>
- how to get: wilma.cs.brown.edu:/pub/cppp.tar.Z
- description: A compiler front-end for C++, with complete semantic
- processing. Outputs abstract syntax graph.
- restriction: Permission needed for incorporation into commercial software.
- requires: Native C++ compiler, lex, yacc, make, sed (or hand editing)
- status: Upgrading the back end.
- updated: 1993/05/26
-
- language: C++
- package: C++ Object Oriented Library
- version: COOL ?, GECOOL 2.1, JCOOL 0.1
- parts: libraries, tests, documentation
- author: ?
- how to get: GECOOL, JCOOL: ftp pub/COOL/* from cs.utexas.edu
- COOL: ftp pub/COOL.tar.Z from csc.ti.com
- description: A C++ class library developed at Texas Instruments. Cool
- contains a set of containers like Vectors, List, Hash_Table,
- etc. It uses a shallow hierarchy with no common base class.
- The funtionality is close to Common Lisp data structures (like
- libg++). The template syntax is very close to Cfront3.x and
- g++2.x. Can build shared libraries on Suns. JCOOL's main
- difference from COOL and GECOOL is that it uses real C++
- templates instead of a similar syntax that is preprocessed by
- a special 'cpp' distributed with COOL and GECOOL.
- ports: ?
- contact: Van-Duc Nguyen <nguyen@crd.ge.com>
- updated: 1992/08/05
- --
- Send compilers articles to compilers@iecc.com or
- {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.
-