Archive-name: free-compilers/part1
Last-modified: 1994/6/30
Version: 6.5

-------------------------------------------------------------------------------
Catalog of Free Compilers and Interpreters.
-------------------------------------------------------------------------------
Copyright (c) 1993, David Muir Sharnoff, All Rights Reserved
Copyright (c) 1994, Steven Allen Robenalt, All Rights Reserved

This list catalogues freely available software for language tools, which
includes the following: compilers, compiler generators, interpreters, 
translators, important libraries, assemblers, etc.  -- things whose user 
interface is a language.  Natural language processing tools may also 
be included.

This list is primarily aimed at developers rather than researchers, and
consists mainly of citations for production quality systems.  There is some
overlap of coverage between this document and other lists and catalogs.  See
the references section for a list...

All the listed items should be free and come with source code, exceptions have
generally been deleted from the list in the past.  If you find any such items
in the list let me know and I'll remove them.

The latest version of the catalog can be ftp'ed: get
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.
(As of the middle of January, the WWW version was still based on rev. 5.2)

Not all entries have complete citations.  Some fields are filled with question
marks (?).  Fields with both the ? and an entry are implicit requests for
confirmation.  Also, specific questions will often be asked [in brackets --ed].

I put in the reference entry last year to help decentralise the accquisition
of new entries.  So if you have information not included in here or updates to
information listed here, a template has been provided below (in fact, the
first entry in the tools section) for you to use.  You can send whatever
new items or updates you have to <free-compilers@idiom.berkeley.ca.us>.
Note that the "how to get" field in each entry has been returned to "location"
as before -- for increased future compatibility with various formats.

-Mark Hopkins, June 29, 1994

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

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

-------------------------------------------------------------------------------
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 archivists BOF convinced David to compile his data 
into a posting.  David posted for about one year, then turned the list over 
to Mark Hopkins.  Mark Hopkins <markh@csd4.csd.uwm.edu> took care of it for 
the summer of 1993 and then gave it back to David Sharnoff when he dropped 
off the net.  Steve Robenalt <robenalt@orange.digex.net> has took over 
the list maintenance from Dave in 1994, and it was returned to Mark Hopkins
<mark@omnifest.uwm.edu> in May, but Dave's organization, Idiom Consulting,
remains as the focal point for information to be submitted.

A new minor alterations have been made in this version in relation to
last month.  Tabs have been inserted into the list to reduce its size, I'm
assuming the common tab stop at every 8th place, so you may need to set your
editor or viewer appropriately.  The following items have been swapped:

           Language category             Before     After
           -----------------------------------------------
           Wirth family languages        Part 3     Part 5
           document formatting languages Part 5     Part 3

in order to more even out the sizes of the various parts to the list.  Also,
the table of contents above has been made a little bit more detailed.

For this version the changes to the list are:

 language  package
 --------  -------
new listings:
 BNF (yacc)  bison-A2.2
 LPC   LPC4 (v. 4.05.11)
 Prolog + constraints clp(FD) 2.1
 Prolog   wamcc 2.1
 EBNF   ETO (test release)
 CAML, Bigloo  Camloo 0.2
 ? Lisp, X  winterp 2.01
new versions:
  TCL      Extended Tcl (tclx) 7.3a
  Scheme      VSCM V0r3
  C, nroff, texinfo, latex   c2man 2.0 patchlevel 31
  REXX      REXX/imc 1.6
  COCOL (EBNF variant)    COCO/R 1.36
  Common Lisp     CLiCC 0.6.4
  C      GNU C Library (glibc) 1.08.1
  Korn Shell     Bash (Bourne Again SHell) 1.14
  csh (C-Shell)     tcsh 6.05
  Lisp (elisp - Emacs Lisp)  Lucid Emacs (lemacs) 19.10

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

language: **Reference Entry 
  Language: what the software compiles/interprets...
package: **The name of the package
version: **Its current version
parts:  **compiler, assembler, interpreter, translator, grammar(yacc,
  lex), library, documentation, examples, assembler, simulator,
  tutorial, test suite, byte-code compiler, run-time,
  translator(from->to)...  Compilers that use C as an 
  intermediate lanaguage should be noted as "compiler(->C)".
  Compilers that compile into a coded representation that is
  interpreted by a runtime module should be noted as "bytecode
  compiler".  Do not say "source code" -- if source is not
  included, do not send an entry at all!
author:  **the creator of the package.  Email addresses are in the 
  form "Real Name <email@address>".  Surface mail addresses
  are not used unless there is no email address.
location: **where to get the source, how to get it -- usually an FTP site
  or two.  May have subheaders for specific areas or different
  ports of the software (don't overdo this!):  Only official
  sites should be listed.  The format for ftp directives is "ftp
  dir/file from host", although valid URL's are acceptable too.
  No IP address is generally given.
  Also, either of the forms "host:directory or file" or
  "host in directory file" may be used with the understanding
  that it refers to an anonymous FTP site.
    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 implementation

-------------------------------------------------------------------------------
tools
-------------------------------------------------------------------------------

scripting languages
-------------------------------------------------------------------------------
category: scripting languages
description: These are languages that are primarily interpreted, and on 
  unix sytems, can ususally be invoked directly from a text 
  using #!.  

language: ABC
package: ABC
version: 1.04.01
parts:  interpreter/compiler
author:  Leo Geurts, Lambert Meertens, 
  Steven Pemberton <Steven.Pemberton@cwi.nl>
location: 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>
location: 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.5
parts:  interpreter, documentation
author:  David Trueman <david@cs.dal.ca> and 
  Arnold Robbins <arnold@cc.gatech.edu>
location: ftp gawk-2.15.tar.Z from a GNU archive site
description: ?
conformance: superset including some Plan 9 features
ports:  unix, msdos:msc5.1
status:  activly developed
updated: 1994/05/19

language: BASIC
package: bwBASIC (Bywater BASIC interpreter)
version: 2.10
parts:  interpreter, shell, ?
author:  Ted A. Campbell <tcamp@delphi.com>
location: comp.sources.misc volume 40
description: The Bywater BASIC Interpreter (bwBASIC) implements a large
  superset of the ANSI Standard for Minimal BASIC (X3.60-1978)
  implemented in ANSI C, and offers a simple interactive environ-
  ment including some shell program facilities as an extension of
  BASIC. The interpreter has been compiled successfully on a
  range of ANSI C compilers on varying platforms with no
  alterations to source code necessary.
ports:  DOS, Unix, Acorn's RISC OS
updated: 1993/10/29

language: BASIC
package: ? basic ?
version: ?
parts:  paser(yacc), interpreter
author:  ?
location: comp.sources.unix archives volume 2
description: ?
updated: ?

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

language: BASIC
package: ubasic
version: 8
parts:  ?
author:  Yuji Kida
location: ? 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:  ?
location: ftp pub/unix-c/languages/basic/basic.tar-z from oak.oakland.edu
description: public domain version of DEC's MU-Basic with Microsoft
  Basic mixed together
contact: ?
updated: ?

language: Bourne Shell
package: ash
version: ?
parts:  interpreter, manual page
author:  Kenneth Almquist
location: ftp from any 386BSD, NetBSD, or FreeBSD archive
    Linux: ftp pub/linux/ports/ash-linux-0.1.tar.gz from ftp.win.tue.nl
description: A Bourne Shell clone.  It works pretty well.  For running
  scripts, it is sometimes better and sometimes worse than Bash.
ports:  386BSD, NetBSD, FreeBSD, Linux
updated: ?

language: csh (C-Shell)
package: tcsh
version: 6.05
parts:  interpreter, manual page, html manual
author:  Christos Zoulas <christos@ee.cornell.edu>
location: /pub/tcsh/tcsh-6.05.tar.gz
     from tesla.ee.cornell.edu (128.84.253.11)
description: a modified C-Shell with history editing
ports:  unix, VMS_POSIX, nearing completion: OS/2 EMX.
updated: 1994/06/27

language: ERGO-Shell (a window-based Unix shell)
package: ERGO-Shell
version: 2.1
parts:  interpreter
author:  Regine Freitag <freitag@gmd.de>
location: ftp gmd/ergo/? from ftp.gmd.de 
description: An ergonomic window-based Unix shell for software engineers.
  [Can one program in ERGO-Shell? --ed]
bugs:  Relative path names are not expanded on the SUN 3 port,
  expansion ability on SUN 4 only on certain conditions.
requires: Needs X-windows (X11R4) or OSF/Motif (revision 1.1)
ports:  Sun 4
contact: Dr. Wolfgang Dzida, GMD <dzida@gmd.de> or the author
updated: 1993/06/04

language: es (a functional shell)
package: es
version: 0.84
parts:  interpreter
author:  Byron Rakitzis <byron@netapp.com>, Paul Haahr <haahr@adobe.com>
location: ftp pub/es/es-0.84.tar.Z from ftp.sys.utoronto.ca
description: shell with higher order functions
  + builtin features implemented as redefineable functions
updated: 1993/04/30

language: Glish
package: glish
version: 2.4.1
parts:  interpreter, C++ class library, user manual
author:  Vern Paxson <vern@ee.lbl.gov>
location: ftp glish/glish-2.4.1.tar.Z from ftp.ee.lbl.gov
description: Glish is an interpretive language for building loosely-coupled
  distributed systems from modular, event-oriented programs.
  These programs are written in conventional languages such as C,
  C++, or Fortran.  Glish scripts can create local and remote
  processes and control their communication.  Glish also provides
  a full, array-oriented programming language (similar to S) for
  manipulating binary data sent between the processes.  In
  general Glish uses a centralized communication model where
  interprocess communication passes through the Glish
  interpreter, allowing dynamic modification and rerouting of
  data values, but Glish also supports point-to-point links
  between processes when necessary for high performance.
reference: "Glish: A User-Level Software Bus for Loosely-Coupled
  Distributed Systems," Vern Paxson and Chris Saltmarsh,
  Proceedings of the 1993 Winter USENIX Conference, San Diego,
  CA, January, 1993.
requires: C++
ports:  SunOS, Ultrix, HP/UX (rusty)
updated: 1993/11/01

language: ici
package: ici
version: ?
parts:  interpreter, documentation, examples
author:  Tim Long
location: ftp pub/ici.tar.Z from ftp.su.edu.au
  ftp pub/oz/ici.tar.Z from nexus.yorku.ca
description: ICI has dynamic arrays, structures and typing with the flow
  control constructs, operators and syntax of C. There are
  standard functions to provided the sort of support provided
  by the standard I/O and the C libraries, as well as additional
  types and functions to support common needs such as simple
  data bases and character based screen handling.
features: + direct access to many system calls
  + structures, safe pointers, floating point
  + simple, non-indexed built in database
  + terminal-based windowing library
ports:  Sun4, 80x86 Xenix, NextStep, MSDOS, HP-UX
portability: high
status:  actively developed.
discussion: send "help" to listserv@research.canon.oz.au
contact: Andy Newman <andy@research.canon.oz.au>
updated: 1994/04/18

language: Icon
package: icon
version: 8.8 (8.7, 8.5, 8.0 depending on platform)
parts:  interpreter, compiler (some platforms), library (v8.8)
author:  Ralph Griswold <ralph@CS.ARIZONA.EDU>
location: ftp icon/* from cs.arizona.edu
  MS-DOS version: ftp norman/iconexe.zip from bellcore.com
description: Icon is a high-level, general purpose programming language that
  contains many features for processing nonnumeric data,
  particularly for textual material consisting of string of
  characters.
  - no packages, one name-space
  - no exceptions
  + object oriented features
  + records, sets, lists, strings, tables
  + unlimited line length
  - unix interface is primitive
  + co-expressions
reference: "The Icon 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
  mengarini@delphi.com for MS-DOS version
updated: 1992/08/21

language: Icon
iref:  (BNF) ibpag2

language: IVY
package: Ivy
version: experimental
parts:  interpreter
author:  Joseph H Allen <jhallen@world.std.com>
location: alt.sources 1993/09/28 <CE1wo3.74A@world.std.com>
description: A language with a pleasant syntax compared to perl, tcl or
  lisp.  It has nice features like low punctuation count, blocks
  indicated by indentation, and similarity to normal procedural
  languages.  This language started out as an idea for an
  extension language for the editor JOE.
updated: 1993/09/28

language: Korn Shell
package: SKsh
version: 2.1
parts:  interpreter, utilities
author:  Steve Koren <koren@hpfcogv.fc.hp.com>
location: ftp pub/amiga/incom*/utils/SKsh021.lzh from hubcap.clemson.edu
description: SKsh is a Unix ksh-like shell which runs under AmigaDos.
  it provides a Unix like environment but supports many
  AmigaDos features such as resident commands, ARexx, etc.
  Scripts can be written to run under either ksh or SKsh,
  and many of the useful Unix commands such as xargs, grep,
  find, etc. are provided.
ports:  Amiga
updated: 1992/12/16

language: Korn Shell 
package: Bash (Bourne Again SHell)
version: 1.14
parts:  parser(yacc), interpreter, documentation
author:  Brian Fox <bfox@vision.ucsb.edu>
location: ftp bash-1.14.tar.gz 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: 1994/06/02

language: Korn Shell
package: pdksh
version: 4.9
parts:  interpreter
author:  Simon J. Gerraty <sjg@zen.void.oz.au>
location: 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
ports:  Sun, 386bsd, ?
contact: Simon J Gerraty <sjg@melb.bull.oz.au> (zen.void.oz.au is down)
updated: 1993/10/11

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

language: 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>
location: 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>
location: ftp pub/perl.4.0/* from jpl-devvax.jpl.nasa.gov 
    OS/2: ftp pub/os2/all/unix/prog*/perl4019.zip from hobbes.nmsu.edu
    Macintosh: ftp software/mac/src/mpw_c/Mac_Perl_405_* from nic.switch.ch
    Amiga: ftp perl4.035.V010.* from wuarchive.wustl.edu
    VMS: ftp software/vms/perl/* from ftp.pitt.edu
    Atari: ftp amiga/Languages/perl* from atari.archive.umich.edu
    MSDOS: ftp pub/msdos/perl/* from ftp.ee.umanitoba.ca
  ftp pub/msdos/perl/bperl* from oak.oakland.edu
    Windows NT: ftp pub/pc/win3/nt/ntperl*.zip from cica.cica.indiana.edu
    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
location: comes with perl
description: translators to turn awk, sed, and find programs into perl 
  programs.
updated: ?

language: Perl
package: perl profiler.
version: ? 1
parts:  profiler
author:  Anthony Iano-Fletcher <arf@maths.nott.ac.uk>
location: Source posted on comp.lang.perl in mid-June 1993
description: Profiles Perl scripts (mkpprof).
  Collates data from Perl scripts (pprof)
updated: 1993/06/17

language: Perl
package: Dylperl
version: ?
parts:  ?
author:  Roberto Salama <rs@fi.gs.com>
location: 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: ?
parts:  ?
author:  Larry Wall <lwall@netlabs.com>
location: comes with perl
description: A curses library for perl
updated: ?

language: Python
package: Python
version: 1.0.2
parts:  interpeter, libraries, documentation, emacs macros
author:  Guido van Rossum <guido@cwi.nl>
location: ftp pub/python* from ftp.cwi.nl
    N.America: ftp pub/plan/python/cwi from gatekeeper.dec.com
    Europe: ftp pub/unix/languages/python from ftp.fu-berlin.de
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
reference: Python documentation URL <http://www.cwi.nl/~guido/Python.html>
ports:  unix and Macintosh
discussion: python-list-request@cwi.nl
updated: 1994/05/08

language: Python
package: vpApp
version: 0.2
parts:  Class Library, User Reference
author:  Per Spilling <per@cwi.nl>
  Real Name <email@address>
location: ftp.cwi.nl in /pub/python/vpApp.tar.gz.
description: vpApp = visual-programming application.  It supports the
  building of applications in Python.
requires: Python interpreter with built-in X support.
updated: 1994/05/06

language: Q (also small subsets of Common Lisp and Scheme)
package: Q
version: ? 1
parts:  interpreter, compiler framework, libraries, documentation
author:  Per Bothner <bothner@cygnus.com>
location: ftp pub/Q.* from ftp.cygnus.com
description: Q is a very high-level programming language, and a test-bed
  for programming language ideas.  Where APL uses arrays
  to explicit looping, Q uses generalized sequences
  (finite or infinite, stored or calculated on demand).
  It has lexical scoping, and some support for logical and
  constraint programming.  The syntax was designed for
  convenient interactive use.  A macro facility together
  with primitives to run programs is used to make an
  interactive command language with full shell features.
  The Q system is written in C++, and its run-time code
  may be useful to people implementing other languages.
ports:  Linux and SUN 4
portability: Should work on 32-bit Unix-like systems
updated: 1993/06/07

language: REXX
package: The Regina Rexx Interpreter
version: 0.05i
parts:  interpreter, documentation, test programs
author:  Anders Christensen <anders@pvv.unit.no>
location: ftp pub/rexx/regina-0.05g.tar.Z from flipper.pvv.unit.no
    N.America: ftp pub/freerexx/regina/regina-0.05d.tar.Z
  from rexx.uwaterloo.ca
description: A Rexx interpreter.  The VMS version has an almost complete
  set of DCL lexical functions in the interpreter.  Ports to
  MS-DOS and OS/2 exist by lack special support for these
  platforms.
conformance: Almost completely to Rexx Language Level 4.00 with some 
  Rexx SAA API extensions.
restriction: GNU General Public License
ports:  Unix, VMS, MS-DOS (partial), OS/2 (partial)
discussion: comp.lang.rexx
updated: 1993/10/15

language: REXX
package: ?
version: 102
parts:  interpreter
author:  ? al ? 
location: ftp alrexx/rx102.tar.Z from rexx.uwaterloo.ca
    USA: ftp ? from tony.cat.syr.edu
description: ?
requires: C++
ports:  unix
discussion: comp.lang.rexx
contact: ?
updated: 1992/05/13

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

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

language: rc (Plan 9 shell)
package: rc
version: 1.4
parts:  interpretor
author:  Byron Rakitzis <byron@netapp.com>
location: ftp pub/rc/* from ftp.white.toronto.edu
description: a free implementation of the Plan 9 shell.
discussion: rc-request@hawkwind.utcs.toronto.edu
updated: 1992/05/26

language: S-Lang
package: slang
version: 0.94
parts:  interpreter, documentation, examples
author:  John E. Davis <davis@amy.tch.harvard.edu>
location: ftp pub/slang/* from amy.tch.harvard.edu
description: A small but highly functional embedded interpreter.  S-Lang was
  a stack-based postfix language resembling Forth and BC/DC with
  limited support for infix notation.   Now it has a C-like infix
  syntax.  Arrays, Stings, Integers, Floating Point, and
  Autoloading are all suported.  The editor JED embeds S-lang.
restriction: GNU Library General Public License
ports:  MSDOS, Unix, VMS
portability: Must be compiled with large memory model on MSDOS.
updated: 1993/06/12

language: Snobol4
package: SIL (Macro Implementation of SNOBOL4)
version: 3.11
parts:  ?
author:  ?
location: ftp snobol4/* from cs.arizona.edu
description: ?
contact: snobol4@arizona.edu
updated: 1986/07/29

language: Snobol4
package: vanilla
version: ?
parts:  ?
author:  Catspaw, Inc.
location: 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
location: comp.sources.unix volume 26
description: A unix shell with a lot of csh/ksh-like features.
ports:  sequent, sun, next, ultrix, bsdi
updated: 1993/04/15

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

language: TCL (Tool Command Language)
package: Tcl
version: 7.3
parts:  interpreter, libraries, tests, documentation
author:  John Ousterhout <ouster@cs.berkeley.edu>
location: ftp.cs.berkeley.edu in ucb/tcl/tcl*
    MSDOS: harbor.ecn.purdue.edu in /pub/tcl/distrib/mstcl73e.zip
    Macintosh: bric-a-brac.apple.com in pub/ticl 
  harbor.ecn.purdue.edu in pub/tcl/distrib/MacTcl7.3.sea.*
    Examples: ftp tcl/* from barkley.berkeley.edu
    Kanji: ftp pub/lang/tcl/jp/tk3.2jp-patch.Z from srawgw.sra.co.jp
description: A small text-oriented embedded language similar to LISP with
  add-on extensions that allow it to also function more as a
  shell. TCL also allows algebraic expressions to be written
  for simplicity and convenience.  Its greatest strength lies
  in its uniform representation of everything as a string.
  This is also its weakness.
  + may be used as an embedded interpreter
  + exceptions, packages (called libraries)
  - only a single name-space
  + provide/require
  - no dynamic loading ability
  + 8-bit clean
  - only three variable types: strings, lists, associative arrays
bugs:  ?
requires: DOS port requires Desqview/X.
ports:  MSDOS, others in progress (see comp.lang.tcl FAQ)
discussion: comp.lang.tcl
updated: 1993/11/15

language: TCL, Tk
package: Tk
version: 3.5
parts:  GUI library
author:  John Ousterhout <ouster@sprite.Berkeley.EDU>
location: 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>
location: ftp tcl/? from barkley.berkeley.edu
description: BOS is a C-callable library that implements the notion of
  object and which uses Tcl as its interpreter for interpreted
  methods (you can have "compiled" methods in C, and mix compiled
  and interpreted methods in the same object, plus lots more
  stuff).  I regularly (a) subclass and (b) mixin existing
  objects using BOS to extend, among other things, the set of tk
  widgets (I have all tk widgets wrapped with BOS "classes"). BOS
  is a class-free object system, also called a prototype-based
  object system; it is modeled loosely on the Self system from
  Stanford.
updated: 1992/08/21

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

language: TCL
package: Wafe
version: 0.95
parts:  interface
author:  Gustaf Neumann <neumann@watson.ibm.com>
location: 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.
portability: very high, just needs X11R4 or X11R5.
discussion: send "subscribe Wafe <Your Name>" to listserv@wu-wien.ac.at
updated: 1993/07/01

language: TCL
package: Extended Tcl (tclx)
version: 7.3a
parts:  library
author:  Mark Diekhans <markd@Grizzly.com>,
  Karl Lehenbauer <karl@NeoSoft.com>
location: ftp pub/tcl/distrib/tclX7.3a.tar.gz from ftp.neosoft.com
  ftp pub/tcl/extensions/tclX7.3a.tar.gz from
     harbor.ecn.purdue.edu
description: Extended Tcl adds statements to the TCL language to provide
  high-level access unix system primitives.
contact: tcl-project@NeoSoft.com
updated: 1994/05/31

language: TCL
package: tcl-debug
version: ?
parts:  debugger
author:  Don Libes <libes@cme.nist.gov>
location: ftp pub/expect/tcl-debug.tar.Z from ftp.cme.nist.gov
description: A debugger for Tcl that can be easily embedded in other
  applications.  It is included with many other Tcl libraries.
updated: ?

language: TCL
package: Cygnus Tcl Tools
version: Release-930124
parts:  ?
author:  david d 'zoo' zuhn <zoo@cygnus.com>
location: ftp pub/tcltools-* from cygnus.com
description: A rebundling of Tcl and Tk into the Cyngus GNU build 
  framework with 'configure'.
updated: 1993/01/24

language: Z-shell
package: zsh
version: 2.3.1 (2.4 in beta)
parts:  interpreter
author:  Paul Falstad <pf@ttisms.com>
location: 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)
location: ftp lang/caml/* from ftp.inria.fr
description: Caml is a programming language from the ML/Standard ML family,
  with functions as first-class values, static type inference
  with polymorphic types, user-defined variant and product
  types, and pattern-matching. The CAML V3.1 implementation
  adds lazy and mutable data structures, a "grammar" mechanism
  for interfacing with the Yacc parser generator,
  pretty-printing tools, high-performance arbitrary-precision
  arithmetic, and a complete library.
bugs:  caml@margaux.inria.fr
ports:  Sun-3 Sun-4 Sony-68k Sony-R3000 Decstation Mac-A/UX Apollo
portability: low (built on a proprietary runtime system)
status:  maintained but no longer developed
discussion: caml-list@margaux.inria.fr, comp.lang.ml
contact: Pierre Weis <Pierre.Weis@inria.fr>
updated: 1991/10/20

language: Caml 
package: Caml Light
version: 0.6
parts:  bytecode compiler, emacs mode, libraries, scanner generator, 
  parser generator, runtime, interactive development environment
author:  Xavier Leroy, Damien Doligez (INRIA)
location: ftp lang/caml-light/* from ftp.inria.fr
description: Caml is a programming language from the ML/Standard ML family,
  with functions as first-class values, static type inference
  with polymorphic types, user-defined variant and product
  types, and pattern-matching. The Caml Light implementation
  adds a Modula-2-like module system, separate compilation,
  lazy streams for parsing and printing, graphics primitives,
  and an interface with C.
features: very small
bugs:  caml-light@margaux.inria.fr
ports:  most unix, Macintosh, MSDOS (16 and 32 bit modes), 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: CAML, Bigloo
package: Camloo
version: 0.2
parts:  ?
author:  ? Manuel.Serrano@inria.fr, Pierre.Weis@inria.fr
location: ftp from ftp.inria.fr [192.93.2.54], in Camloo0.2
    N.America: Sites for North Americans.
description: An implementation of CAML in Bigloo.  It can be considered as
  an alternative to the regular camlc compiler.  In particular,
  it has successfully compiled many complex Caml Light programs,
  including camlc and the Coq system (the ``calculus of
  constructions'', a proof assistant).
conformance: Full compliance with Caml Light 0.6 and Caml Light Libraries
  (including camlyacc and camllex).
requires: Bigloo1.6c (available from same address).
contact: Manuel.Serrano@inria.fr, Pierre.Weis@inria.fr.
updated: 1994/06/13

language: Concurrent Clean
package: The Concurrent Clean System
version: 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
location: 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:  ?
location: 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>
location: ftp pub/haskell/gofer/* from nebula.cs.yale.edu
    UK:  ftp pub/haskell/gofer/* from ftp.dcs.glasgow.ac.uk
    Sweden: ftp pub/haskell/gofer/* from ftp.cs.chalmers.se
description: Gofer is based quite closely on the Haskell programming
  language, version 1.2. It supports lazy evaluation, higher
  order functions, pattern matching, polymorphism, overloading
  etc and runs on a wide range of machines.
conformance: Gofer does not implement all of Haskell, although it is 
  very close.
ports:  many, including Sun, PC, Mac, Atari, Amiga
status:  maintained but not developed (for a while anyway)
updated: 1993/08/02

language: Gofer
iref:  (BNF) Ratatosk

language: Haskell
package: Chalmers Haskell (aka Haskell B.)
version: 0.999.5
parts:  compiler, interpreter, library, documentation, examples
author:  Lennart Augustsson <augustss@cs.chalmers.se>
location: ftp pub/haskell/chalmers/* from nebula.cs.yale.edu
    UK:  ftp pub/haskell/chalmers/* from ftp.dcs.glasgow.ac.uk
    Sweden: ftp pub/haskell/chalmers/* from ftp.cs.chalmers.se
description: Full-featured implementation of Haskell 1.2, 
  with quite a few "Haskell B" extensions
requires: LML
ports:  many, including Sun, DEC, Sequent, PC, Symmetry
  (unsupported versions for NS32000, RT/PC, CRAY, SUN3, VAX,
  ARM, and RS6000.)
discussion: haskell-request@cs.yale.edu
    Europe: haskell-request@dcs.glasgow.ac.uk
contact: hbc@cs.chalmers.se
updated: 1993/08/02

language: Haskell
package: Glasgow Haskell Compiler (GHC)
version: 0.19
parts:  translator (C, SPARC), profiler
author:  AQUA project, headed by Simon Peyton Jones
  <simonpj@dcs.glasgow.ac.uk>
location: ftp pub/haskell/glasgow/* from nebula.cs.yale.edu
    UK:  ftp pub/haskell/glasgow/* from ftp.dcs.glasgow.ac.uk
    Sweden: ftp pub/haskell/glasgow/* from ftp.cs.chalmers.se
description: A near complete subset of Haskell 1.2, with numerous
  extensions.
conformance: Almost all of Haskell 1.2 is implemented.
reference: Papers at ftp.dcs.glasgow.ac.uk (only) in pub/glasgow-fp,
  "Imperative functional programming",
  Peyton Jones & Wadler, POPL '93
  "Unboxed data types as first-class citizens",
  Peyton Jones & Launchbury, FPCA '91
  "Profiling lazy functional languages",
  Sansom & Peyton Jones, Glasgow workshop '92
  "Implementing lazy functional languages on stock hardware",
  Peyton Jones, Journal of Functional Programming, Apr 1992
features: An extensible I/O system is provided, based on a "monad"
  In-line C code
  Fully fledged unboxed data types,
  Incrementally-updatable arrays
  Mutable reference types.
  Generational garbage collector
bugs:  <glasgow-haskell-bugs@dcs.glasgow.ac.uk>
requires: GNU C 2.1+, perl
ports:  solid: Sun4, Sun3; sort of: HP-PA, Alpha, DECstation
portability: should be high
contact: <glasgow-haskell-request@dcs.glasgow.ac.uk>
updated: 1993/12/17

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>
location: ftp pub/haskell/yale/* from nebula.cs.yale.edu
    UK:  ftp pub/haskell/yale/* from ftp.dcs.glasgow.ac.uk
    Sweden: ftp pub/haskell/yale/* from ftp.cs.chalmers.se
description: ?
features: X-window interface, available at the Haskell level too.
requires: CMU Common Lisp, Lucid, Common Lisp, Allegro Common Lisp, or
  Harlequin LispWorks
ports:  SunOS 4.1.2, Sparc 10 (sun4m) 4.1.3
discussion: haskell-request@cs.yale.edu
    Europe: haskell-request@dcs.glasgow.ac.uk
contact: haskell-request@cs.yale.edu
updated: 1993/07/14

language: Hope
package: ?
version: ?
parts:  ?
author:  ?
location: 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>
location: comp.sources.unix archive volume 10
description: A variant of Backus' "Functional Programming" language
  with a syntax reminiscent of Modula-2. The interpreter
  is written in portable C.
reference: [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:  ?
location: ftp pup/haskell/chalmers/* from animal.cs.chalmers.se
description: lazy, completely functional variant of ML.
ports:  ?
contact: ?
updated: 1992/07/06

language: Standard ML
package: SML/NJ (Standard ML of New Jersey)
version: 0.93
parts:  compiler, libraries, extensions, interfaces, documentation,
  build facility
author:  D. B. MacQueen <dbm@research.att.com>, Lal George 
  <george@research.att.com>, AJ. H. Reppy <jhr@research.att.com>,
  A. W. Appel <appel@princeton.edu>
location: ftp dist/ml/* from research.att.com
description: Standard ML is a modern, polymorphically typed, (impure)
  functional language with a module system that supports flexible
  yet secure large-scale programming.  Standard ML of New Jersey
  is an optimizing native-code compiler for Standard ML that is
  written in Standard ML.  It runs on a wide range of
  architectures. The distribution also contains:
  + an extensive library - The Standard ML of New Jersey Library,
  including detailed documentation.
  + CML - Concurrent ML
  + eXene - an elegant interface to X11 (based on CML)
  + SourceGroup - a separate compilation and "make" facility
  CML, eXene and SourceGroup not in the Macintosh port, but the
  Mac port has a built-in editor.
ports:  M68K, SPARC, MIPS, HPPA, RS/6000, I386/486, Macintosh
updated: 1993/02/18

language: Concurrent ML
package: Concurrent ML
version: 0.9.8
parts:  extension
author:  ?
location: ftp pub/CML* from ftp.cs.cornell.edu or get SML/NJ
description: Concurrent ML is a concurrent extension of SML/NJ, supporting
  dynamic thread creation, synchronous message passing on
  synchronous channels, and first-class synchronous operations.
  First-class synchronous operations allow users to tailor their
  synchronization abstractions for their application.  CML also
  supports both stream I/O and low-level I/O in an integrated
  fashion.
bugs:  sml-bugs@research.att.com
requires: SML/NJ 0.75 (or later)
updated: 1993/02/18

language: 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 
location: ftp /usr/nemo/sml2c/sml2c.tar.Z from dravido.soar.cs.cmu.edu
    Linux: ftp pub/linux/smlnj-0.82-linux.tar.Z from ftp.dcs.glasgow.ac.uk
description: sml2c is a Standard ML to C compiler.  sml2c is a batch
  compiler and compiles only module-level declarations,
  i.e. signatures, structures and functors.  It provides
  the same pervasive environment for the compilation of
  these programs as SML/NJ.  As a result, module-level
  programs that run on SML/NJ can be compiled by sml2c
  without any changes.  Based on SML/NJ version 0.67 and shares
  front end and most of its runtime system, but does not support
  SML/NJ style debugging and profiling.
conformance: superset
  + first-class continuations,
  + asynchronous signal handling
  + separate compilation 
  + freeze and restart programs
ports:  IBM-RT Decstation3100 Omron-Luna-88k Sun-3 Sun-4 386(Mach)
portability: easy, easier than SML/NJ
contact: david.tarditi@cs.cmu.edu anurag.acharya@cs.cmu.edu 
  peter.lee@cs.cmu.edu
updated: 1991/06/27

language: Standard ML
package: The ML Kit
version: 1
parts:  interprter, documentation
author:  Nick Rothwell, David N. Turner, Mads Tofte <tofte@diku.dk>,
  and Lars Birkedal at Edinburgh and Copenhagen Universities.
location: ftp diku/users/birkedal/* from ftp.diku.dk
    UK:  ftp export/ml/mlkit/* from lfcs.ed.ac.uk
description: The ML Kit is a straight translation of the Definition of
  Standard ML into a collection of Standard ML modules.  For
  example, every inference rule in the Definition is translated
  into a small piece of Standard ML code which implements it. The
  translation has been done with as little originality as
  possible - even variable conventions from the Definition are
  carried straight over to the Kit.  The Kit is intended as a
  tool box for those people in the programming language community
  who may want a self-contained parser or type checker for full
  Standard ML but do not want to understand the clever bits of a
  high-performance compiler. We have tried to write simple code
  and modular interfaces.
updated: 1993/03/12

language: 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>
location: 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: ?

-- 
Send compilers articles to compilers@iecc.com or
{ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.
