category: educational


Description:
These are languages that are either designed for teaching, or are often used that way.


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://unix.sri.com/pub/norvig/*
Description:
?
Updated:
?

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

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:
Pascal
Package:
? iso_pascal ?
Version:
?
Parts:
scanner(lex), parser(yacc)
Author:
?
Location:
comp.sources.unix archive volume 13
Description:
?
Updated:
?

Language:
ABC
Package:
ABC
Version:
1.04.01
Parts:
interpreter/compiler
Author:
Leo Geurts, Lambert Meertens, Steven Pemberton <Steven.Pemberton@cwi.nl>
Location:
ftp://ftp.cwi.nl/pub/abc/* or http://www.cwi.nl/~steven/abc/
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:
May 2nd, 1991

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:
July 18th, 1993

Language:
Logo
Package:
Berkeley Logo
Version:
3.3
Parts:
interpreter
Author:
Brian Harvey <bh@anarres.CS.Berkeley.EDU>
Location:
ftp://anarres.cs.berkeley.edu/pub/ucblogo/* 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:
August 6th, 1993

Language:
Scheme
Package:
Bigloo
Version:
1.9b
Parts:
interpreter, compiler(->ANSI C), runtime
Author:
Manuel Serrano <Manuel.Serrano@inria.fr>
Location:
ftp://ftp.inria.fr/INRIA/Projects/icsla/Implementations/bigl* http://cuiwww.unige.ch/~serrano/bigloo.html
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:
June 24th, 1997

Language:
C
Package:
C-Interp
Version:
?
Parts:
interpreter
Author:
?
Location:
ftp://oac2.hsc.uth.tmc.edu/Mac/Misc/C_Interp.sit
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:
May 14th, 1993

Language:
C
Package:
C-Tree
Version:
.04
Parts:
Source
Author:
Shaun Flisakowski
Location:
ftp.kagi.com:/flisakow/ctree_04.tar.gz ftp.kagi.com:/flisakow/ctree_04.zip ftp.cs.wisc.edu:/coral/tmp/spf/ctree_04.tar.gz
Description:
Takes the name of a file to parse as input, and returns a pointer to the parse tree generated; or NULL if there are errors, printing the errors to stderr. It is written using flex and bison.
Updated:
July 13th, 1997

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://dnpap.et.tudelft.nl/pub/Unix/Util/c2man-2.0.*.tar.gz
australia:
ftp://archie.au/usenet/comp.sources.misc/volume42/c2man-2.0/*
n.america:
ftp://ftp.wustl.edu/usenet/comp.sources.misc/volume42/c2man-2.0/*
europe:
ftp://ftp.irisa.fr/News/comp.sources.misc/volume42/c2man-2.0/*
japan:
ftp://ftp.iij.ad.jp/pub/NetNews/comp.sources.misc/volume42/c2man-2.0/*
patches:
ftp://lth.se/pub/netnews/sources.bugs/volume93/sep/c2man*
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:
March 2nd, 1995

Language:
C, nroff, texinfo, latex, html, autodoc
Package:
c2man
Version:
2.0 patchlevel 41
Parts:
documentation generator (C -> nroff -man, -> texinfo, -> latex,
-
> html, -> autodoc)
Author:
Graham Stoney <greyham@research.canon.com.au>
Location:
ftp source and patches from any comp.sources.misc archive. (the version in the comp.sources.reviewed archive is obsolete)
package:
ftp://ftp.research.canon.com.au/pub/misc/c2man/c2man.tar.gz
patches:
ftp://ftp.research.canon.com.au/pub/misc/c2man/patches/
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
Requires:
yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX.
Ports:
Unix, OS/2, MSDOS, VMS, Amiga.
Portability:
very high for unix, via Configure
Status:
user-supported; contributions by users are encouraged.
Discussion:
c2man mailing list: send "subscribe c2man" (in the message body) to majordomo@research.canon.com.au
Help:
from the author and other users on the mailing list: c2man@research.canon.com.au
Announcements:
patches appear first in comp.sources.bugs, and then in comp.sources.misc.
Updated:
October 17th, 1996

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://bode.ee.ualberta.ca/motorola/m68k/cc68k.arc
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 (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:
November 3rd, 1992

Language:
Fortran, C
Package:
cfortran.h
Version:
2.6
Parts:
macros, documentation, examples
Author:
Burkhard Burow
Location:
ftp://zebra.desy.de/cfortran/*
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:
April 12th, 1992

Language:
C (ANSI)
Package:
cgram
Version:
?
Parts:
grammar
Author:
Mohd Hanafiah Abdullah <napi@cs.indiana.edu>
Location:
ftp://primost.cs.wisc.edu/pub/comp.compilers/cgram-ll1.Z
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, lcc intermediate format
Package:
Chop
Version:
0.6
Parts:
code generator
Author:
Alan L. Wendt <wendt@CS.ColoState.EDU>
Location:
ftp://beethoven.cs.colostate.edu/pub/chop/0.6.tar.Z
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:
April 28th, 1993

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:
July 18th, 1992

Language:
C
Package:
csize
Version:
1.12
Parts:
code analysis tool
Author:
Christopher Lott <c.m.lott@ieee.org>
Location:
http://www.cs.umd.edu/users/cml/
Description:
A C language code counter
Updated:
October 17th, 1994

Language:
C
Package:
CSlang
Version:
1.0
Parts:
interpreter
Author:
Tudor Hulubei <tudor@cs.unh.edu>
Location:
http://www.cs.unh.edu/~tudor/cslang/ ftp://ftp.cs.unh.edu/pub/grads/tudor/cslang/cslang-1.0.tar.gz
Description:
CSlang is a C interpretor I have developed in 1996. It is based on James A. Roskind's C grammar. Although not all the features of C have been implemented yet, and I am not working on this project at the moment, I decided to make it available in its present form.
Status:
inactive
Updated:
1997

Language:
C
Package:
cutils
Version:
1.5.2
Description:
C language miscellaneous utilities
Parts:
C language miscellaneous utilities; C, obfusc, shrouder, highlight, yacc, literate
Author:
ssigala@globalnet.it (Sandro Sigala)
Location:
ftp://ftp.vix.com/guests/ssigala/pub/cutils ftp://sunsite.unc.edu/pub/Linux/devel/lang/c
Requires:
ANSI C compiler
Restrictions:
BSD-like
Updated:
1997/11

Language:
C
Package:
Cxref
Version:
1.4
Parts:
Documentation + Cross-reference generator
Author:
Andrew M. Bishop <amb@gedanken.demon.co.uk>
Location:
ftp://ftp.demon.co.uk/pub/unix/unix/tools/cxref-1.4.tgz ftp://sunsite.unc.edu/pub/Linux/devel/lang/c/cxref-1.4.tgz http://www.gedanken.demon.co.uk
Description:
Produce LaTeX or HTML documentation including cross-references from C program source code.

The documentation for the program is produced from comments in the code that are appropriately formatted.

Cross references are provided for global variables, functions, include files and type definitions.

Features:
  • ANSI C
  • GCC extensions
Restrictions:
GPL
Requires:
Yacc, Lex, C compiler, HTML browser and/or LaTeX.
Ports:
UNIX (Linux, SunOS, Solaris, HPUX) others?
Portability:
Will compile for WinNT, OS/2, but needs a little work.
Status:
Version 1.4 is stable Version 1.3 is stable (with known patches) Version 1.2 has a few bugs (fixed in 1.2[ab] patches). Versions 1.0 & 1.1 are known to contain bugs.
Discussion:
By mail to author amb@gedanken.demon.co.uk, or on cxref homepage via http://www.gedanken.demon.co.uk/
Bugs:
As for discussion above.
Help:
As for discussion above.
Support:
As for discussion above.
Announcements:
comp.os.linux.announce and homepage.
Updated:
1997/07

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

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

Language:
C
Package:
dsp56165-gcc
Version:
?
Parts:
compiler
Author:
Andrew Sterian <asterian@eecs.umich.edu>
Location:
ftp://wuarchive.wustl.edu/usenet/alt.sources/?
Description:
A port of gcc 1.40 to the Motorola DSP56156 and DSP56000.
Updated:
?

Language:
C
Package:
dsp56k-gcc
Version:
?
Parts:
compiler
Author:
?
Location:
ftp://nic.funet.fi/pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z
australia:
ftp://evans.ee.adfa.oz.au/pub/micros/56k/g56k.tar.Z
Description:
A port of gcc 1.37.1 to the Motorola DSP56000 done by Motorola
Contact:
?
Updated:
?

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

Language:
Scheme
Package:
ezd (easy drawing for programs on X displays)
Version:
15mar93
Parts:
interpreter/server
Author:
?
Location:
ftp://gatekeeper.dec.com/pub/DEC/ezd/*
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:
March 10th, 1993

Language:
C
Package:
fdlibm
Version:
?
Parts:
library
Author:
Dr. K-C Ng
Location:
ftp://netlib.att.com/netlib/fdlibm.tar
Description:
Dr. K-C Ng has developed a new version of libm that is the basis for the bundled /usr/lib/libm.so in Solaris 2.3 for SPARC and for future Solaris 2 releases for x86 and PowerPC. It provides the standard functions necessary to pass the usual test suites. This new libm can be configured to handle exceptions in accordance with various language standards or in the spirit of IEEE 754. The C source code should be portable to any IEEE 754 system with minimal difficulty.
Conformance:
IEEE 754
Bugs:
Send comments and bug reports to: fdlibm-comments@sunpro.eng.sun.com.
Updated:
December 18th, 1993

Language:
Scheme
Package:
Fools' Lisp
Version:
1.3.2
Parts:
?
Author:
Jonathan Lee <jonathan@scam.berkeley.edu>
Location:
ftp://scam.berkeley.edu/src/local/fools.tar.Z
Description:
a small Scheme interpreter that is R4RS conformant.
Ports:
Sun-3, Sun-4, Decstation, Vax (ultrix), Sequent, Apollo
Updated:
October 31st, 1991

Language:
Pascal
Package:
Free Pascal Compiler
Version:
0.99.14 (stable), 0.99.15 (development)
Parts:
compiler, run time library, tools, documentation
Author:
Florian Klaempfl (Florian.Klaempfl@gmx.de) and the FPC development team (fpc-devel@lists.freepascal.org)
Location:
http://www.freepascal.org
Description:
Free Pascal (aka FPK Pascal) is a 32 bit Pascal command line compiler. It is completely written in Pascal and compiles itself. Documentation is available in TeX, HTML, PDF, RTF and plain text. A text mode IDE is under development, a Delphi-like RAD environment too (see <http://www.lazarus.freepascal.org> and <http://www.kcl.freepascal.org>).
Conformance:
99% Turbo Pascal compatible and supports most Delphi extensions as well. Extra functionality: * procedure/function/operator overloading * functions can return complex types * macro's * smart linking support
Restriction:
may be freely distributed unter the terms of the GNU General Public License or in case of the library under the terms of the GNU Library General Public cense.
Portability:
run time library: very high compiler: high, code generator is being rewritten to be more portable
Ports:
80x86: Dos (go32v2), Linux, OS/2 (emx), Win32 (BSD in progress) 680x0: Amiga, Atari ST
Announcements:
New releases will be announced in comp.lang.pascal.misc, on the news page of the website and in the mailing lists
Updated:
Latest official release: 2000/01/27

Language:
Scheme
Package:
Gambit Scheme System
Version:
2.0
Parts:
interpreter, compiler, linker, libraries
Author:
Marc Feeley <feeley@iro.umontreal.ca>
Location:
ftp://ftp.iro.umontreal.ca/pub/parallele/gambit/*
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:
C
Package:
gc
Version:
3.4
Parts:
library
Author:
Hans-J. Boehm <boehm@parc.xerox.com>, Alan J. Demers
Location:
ftp://parcftp.xerox.com/pub/russell/gc3.4.tar.Z
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:
November 5th, 1993

Language:
C
Package:
GCT
Version:
1.4
Parts:
test-coverage-preprocessor
Author:
Brian Marick <marick@cs.uiuc.edu>
Location:
ftp://cs.uiuc.edu/pub/testing/gct.file/ftp.*
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:
Febuary 12th, 1993

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

Language:
C
Package:
GNU C Library (glibc)
Version:
2.0.3
Parts:
library, documentation
Author:
?
Location:
ftp://gatekeeper.dec.com/glibc-2.0.3.tar.gz or any other 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:
November 7th, 1994

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

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

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

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

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

Language:
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://gatekeeper.dec.com/superopt-2.5.tar.Z or any other 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:
ABC
Package:
Grammar analysis tools
Version:
1
Parts:
analysis tools, samples, documentation
Author:
Steven Pemberton <Steven.Pemberton@cwi.nl>
Location:
ftp://ftp.cwi.nl/pub/abc/examples/grammar/* 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:
July 5th, 1993

Language:
C
Package:
Harvest C
Version:
1.3
Parts:
compiler, assembler, linker.
Author:
?
Location:
ftp://archive.umich.edu/mac/development/languages/harves*
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:
May 26th, 1992

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:
April 25th, 1995

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:
Febuary 1st, 1995

Language:
C (ANSI)
Package:
lcc-win32
Version:
1.2
Parts:
compiler, assembler, linker, resource compiler, resource editor, IDE, debugger, Windows header files, windows import libraries, make/dump utilities, import library generator.
Authors:
Chris Fraser, Dave Hanson, Jacob Navia
Location:
http://www.remcomp.com/lcc-win32
Description:
A free compiler system centered around the lcc compiler version 3.6 and heavily modified to run under windows 95/NT. Enhancements include native MMX instruction support through intrinsics, an optimizer, etc.
Ports:
Runs only under windows 32 (Windows 95/NT)
Status:
production use
Updated:
August 1st, 1977
Contact:
jacob@jacob.remcomp.fr
Bugs:
jacob@jacob.remcomp.fr
Conformance:
ANSI C + enhancements for windows 95/NT. Compatible MSVC.
Updated:
?

Language:
C (ANSI)
Package:
LCLint
Version:
1.4
Parts:
code analysis tool
Author:
David E Evans <evs@larch.lcs.mit.edu>
Location:
ftp://larch.lcs.mit.edu/pub/Larch/lclint/
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:
October 16th, 1994

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:
October 21st, 1994

Language:
Logo
Package:
logo
Version:
4
Parts:
interpreter
Author:
?
Location:
comp.sources.unix archive volume 10
Description:
?
Updated:
?

Language:
Modula-2, Pascal
Package:
m2
Version:
? 7/2/92 ?
Parts:
? compiler ?
Author:
Michael L. Powell. See description below.
Location:
ftp://gatekeeper.dec.com/pub/DEC/Modula-2/m2.tar.Z
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:
July 6th, 1992

Language:
C
Package:
Maspar MPL
Version:
3.1
Parts:
compiler
Author:
Christopher Glaeser
Location:
ftp://maspar.maspar.com/pub/mpl-*
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 (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://iecc.com/pub/file/metre.tar.gz
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:
April 4 1995

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://altdorf.ai.mit.edu/archive/scheme-7.2 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:
August 24th, 1992

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:
October 20th, 1994

Language:
Logo
Package:
MswLogo
Version:
4.2d
Parts:
interpreter
Author:
George Mills <mills@athena.lkg.dec.com>
Location:
ftp://cher.media.mit.edu/pub/comp.lang.logo/programs/mswlogo 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:
December 20th, 1995

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

Language:
Pascal
Package:
p2c
Version:
1.20
Parts:
translator(Pascal->C)
Author:
Dave Gillespie <daveg@synaptics.com>
Location:
ftp://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:
April 13th, 1990

Language:
Pascal
Package:
Pascal P4 compiler and interpreter
Version:
? 1
Parts:
compiler, assembler/interpreter, documentation
Author:
Urs Ammann, Kesav Nori, Christian Jacobi
Location:
ftp://ftp.cwi.nl/pub/pascal/* 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:
July 5th, 1993

Language:
Pascal
Package:
pasos2
Version:
Alpha
Parts:
Compiler, run-time library
Author:
Willem Jan Withagen <wjw@eb.ele.tue.nl>
Location:
ftp://ftp.eb.ele.tue.nl/pub/src/pascal/pasos2*
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:
December 17th, 1993

Language:
Scheme
Package:
PC-Scheme
Version:
3.03
Parts:
compiler, debugger, profiler, editor, libraries
Author:
Texas Instruments
Location:
ftp://altdorf.ai.mit.eduarchive/pc-scheme/*
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:
Febuary 23rd, 1992

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:
January 11th, 1994

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:
October 16th, 1994

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

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

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

Language:
Scheme
Package:
Psd (Portable Scheme Debugger)
Version:
1.1
Parts:
debugger
Author:
Kellom{ki Pertti <pk@cs.tut.fi>
Location:
ftp://cs.tut.fi/pub/src/languages/schemes/psd.tar.Z
Description:
source code debugging from emacs
Restriction:
GNU GPL
Requires:
R4RS compliant Scheme, GNU Emacs.
Ports:
scm, Elk, Scheme->C
Updated:
October 8th, 1992

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:
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:
Febuary 19th, 1993

Language:
Pascal
Package:
ptc
Version:
?
Parts:
translator(Pascal->C)
Author:
?
Location:
ftp://uxc.sco.uiuc.edu/languages/ptc ? (use archie?)
Description:
?
Contact:
?
Updated:
?

Language:
C
Package:
Pthreads
Version:
1.17
Parts:
library
Author:
PART (POSIX / Ada-Runtime Project)
Location:
ftp://ftp.cs.fsu.edu/pub/PART/pthreads*
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:
July 22nd, 1993

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:
top.cs.vu.nl/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:
January 9th, 1995

Language:
Scheme
Package:
Schematik
Version:
1.1.5.2
Parts:
programming environment
Author:
Chris Kane, Max Hailperin <max@nic.gac.edu>
Location:
ftp://ftp.gac.edu/pub/next/scheme/*
europe:
ftp://ftp.informatik.uni-muenchen.depub/next/ProgLang
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:
March 11th, 1993

Language:
Scheme
Package:
Scheme Library (slib)
Version:
2a1
Parts:
library, documentation
Author:
?? Aubrey Jaffer <jaffer@ai.mit.edu>
Location:
in ftp://altdorf.ai.mit.edu/archive/scm/slib*.tar.Z ftp://prep.ai.mit.edu/pub/gnu/jacal/slib*.tar.gz ftp://ftp.maths.tcd.ie/pub/bosullvn/jacal/slib*.tar.gz ftp://ftp.cs.indiana.edu/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:
October 9th, 1993

Language:
Scheme
Package:
Scheme->C
Version:
15mar93
Parts:
compiler(->C)
Author:
Digital Western Research Laboratory; Joel Bartlett
Location:
ftp://gatekeeper.dec.com/pub/DEC/Scheme-to-C/*
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:
March 15th, 1993

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:
Scheme
Package:
Scheme88
Version:
?
Parts:
?
Author:
?
Location:
ftp://nexus.yorku.ca/pub/scheme/*
Description:
?
Contact:
?
Updated:
?

Language:
Scheme
Package:
scm
Version:
4e1
Parts:
interpreter, conformance test, documentation
Author:
Aubrey Jaffer <jaffer@zurich.ai.mit.edu>
Location:
ftp://altdorf.ai.mit.edu/archive/scm/scm* ftp://prep.ai.mit.edu/pub/gnu/jacal/scm*.tar.gz ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/scm*.tar.gz
canada:
ftp://nexus.yorku.ca/pub/oz/scheme/new/*
europe:
ftp://ftp.maths.tcd.ie/pub/bosullvn/jacal/*
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:
April 29th, 1994

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:
November 1st, 1995

Language:
Scheme
Package:
Similix
Version:
5.0
Parts:
partial evaulator, debugger
Author:
Anders Bondorf <anders@diku.dk>
Location:
ftp://ftp.diku.dk/pub/diku/dists/Similix.tar.Z
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:
May 18th, 1993

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://ftp.std.com/pub/gjc ftp://ftp.cs.indiana.edu
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:
April 29th, 1994

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

Language:
C, Fortran, SUIF
Package:
Stanford Base SUIF Compiler Package (``basesuif'')
Version:
1.1.2
Parts:
compiler(->C,->SUIF), run-time, documentation, examples
Author:
"Stanford Compiler Group" <suif@suif.stanford.edu>
Location:
ftp://ftp-suif.stanford.edu/pub/suif/basesuif-1.1.2.tar.gz http://www-suif.Stanford.EDU
Description:
SUIF is a framework for building large, complex compilers, targeted particular toward research in compiler algorithms. This package is the core of the system. 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 program transformation.
Conformance:
C front end, C back end ANSI-C, FORTRAN front end mostly f77, defining implementation of SUIF IR
Reference:
Wide range of published papers available from web site
Bugs:
suif-bugs@suif.Stanford.EDU mailing list (more than 100 subscribers to this mailing list, including authors)
Restriction:
Free for any use, commercial or non-commercial, only requires copyright notice be preserved; currently used in commercial products
Requires:
Modern C++ compiler, such as GNU g++ 2.7.2.1, GNU make
Ports:
Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86, Irix/SGI-Mips, Linux/x86, OSF/DECAlpha,
  • many more UNIX systems; partial ports to Visual C++ under NT and to Power Macintosh
Portability:
Very system independent, but makefiles need to be replaced for non-UNIX systems if GNU make isn't used
Status:
Very active and growing quickly, with Java and C++ front-ends, connections from DEC Fortran, gcc, and g++ front-ends and to gcc's RTL back-ends, and new code generators for many systems funded and underway, all to be made available publicly
Discussion:
Several mailing lists, see http://www-suif.stanford.edu
Help:
Several mailing lists, more than 200 active users
Support:
No ``official'' support, but mailing lists usually provide support to any who ask
Announcements:
suif-announce@suif.Stanford.EDU mailing list (see web site)
Updated:
1997/04

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

Language:
Scheme
Package:
syntax-case
Version:
2.1
Parts:
macro system, documentation
Author:
R. Kent Dybvig <dyb@cs.indiana.edu>
Location:
ftp://cs.indiana.edu/pub/scheme/syntax-case.tar.Z
macintosh:
ftp://maya.dei.unipd.it/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:
July 6th, 1992

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://ftp.ai.mit.edu/pub/systems/t3.1
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:
November 26th, 1991

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

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

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

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

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

Language:
Scheme
Package:
Tiny Clos
Version:
first release
Parts:
?
Author:
?
Location:
ftp://parcftp.xerox.com/pub/mops/*
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:
December 14th, 1992

Language:
Scheme
Package:
UMB Scheme
Version:
?
Parts:
?, editor, debugger
Author:
William Campbell <bill@cs.umb.edu>
Location:
ftp://nexus.yorku.ca/pub/scheme/*
Description:
?
Conformance:
R4RS Scheme
Ports:
?
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://ftp.win.tue.nl/pub/unix/unproto4.shar.Z
Description:
?
Contact:
?
Updated:
?

Language:
C
Package:
ups
Version:
2.1
Parts:
interpreter, symbolic debugger, tests, documentation
Author:
Mark Russell <mtr@ukc.ac.uk>
Location:
? ftp://export.lcs.mit.edu/contrib/ups*.tar.Z ?
unofficial:
unofficial enhancements by Rod Armstrong <rod@sj.ate.slb.com>, available ftp://sj.ate.slb.com/misc/unix/ups/contrib/rob
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:
May 20th, 1991

Language:
Scheme
Package:
VSCM
Version:
V0r3
Parts:
runtime, bytecode compiler, bytecode interpreter
Author:
Matthias Blume <blume@cs.princeton.edu>
Location:
ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/vscm*.tar.gz
germany:
ftp://faui80.informatik.uni-erlangen.de/pub/scheme/yorku/imp/vscm*
uk:
ftp://unix.hensa.ac.uk/pub/uunet/languages/lisp/scheme/repository/imp/vscm*
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:
November 9th, 1993

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:
August 10th, 1992

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

Language:
C
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:
Febuary 22nd, 1992

Language:
C
Package:
xref
Version:
?
Parts:
code analysis tool
Author:
Jim Leinweber
Location:
use archie
Description:
A cross-reference genrator
Updated:
1985 ?

Language:
Scheme
Package:
XScheme
Version:
0.28
Parts:
?
Author:
David Betz <dbetz@apple.com>
Location:
ftp://nexus.yorku.ca/pub/scheme/*
Description:
?
Discussion:
comp.lang.lisp.x
Contact:
?
Updated:
Febuary 2nd, 1992

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

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

Please send updates to free-compilers@sharnoff.org

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

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