Article 21951 of comp.lang.misc:
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Path: nntpd.lkg.dec.com!crl.dec.com!crl.dec.com!bloom-beacon.mit.edu!news.kei.com!world!iecc!compilers-sender
From: free-compilers@idiom.com (Steven Robenalt)
Subject: Catalog of compilers, interpreters, and other language tools [p1of5]
Message-ID: <free1-Jul-95@comp.compilers>
Followup-To: comp.lang.misc
Summary: Monthly posting of free language tools that include source code
Keywords: compilers, interpreters, languages, tools, FTP
Sender: compilers-sender@chico.iecc.com
Supersedes: <free1-Jun-95@comp.compilers>
Reply-To: free-compilers@idiom.com (Steven Robenalt)
Organization: Idiom Consulting / Berkeley, CA
Date: Sat, 1 Jul 1995 11:00:20 GMT
Approved: compilers@iecc.com
Expires: Tue, 1 Aug 1995 23:59:00 GMT
Lines: 1879
Xref: nntpd.lkg.dec.com comp.compilers:9016 comp.lang.misc:21951 comp.archives.admin:1890 news.answers:46983 comp.answers:12591

Archive-name: free-compilers/part1
Last-modified: 1995/05/04
Version: 8.0

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

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

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

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

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

The latest version of the catalog can be ftp'ed: get

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

There is a static version available through WWW at:  (note: the trailing
slash (/) is important)

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

There is a searchable (but less fancy) version sometimes
available at:

	http://cuiwww.unige.ch/~scg/freecomp

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

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

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

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

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

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

For this version the changes to the list are:

	language		package
	--------		-------
new listings:
	C (ANSI/ISO)		Metre
	Prolog			Beta-Prolog 1.5
	Tcl			Object Tcl 1.0 beta
	Simula 67		cim 1.62
	Expect			Expect 5.12
	EXPRESS			NIST EXPRESS Toolkit
	Pascal			Pascal for Minix
	OPAL			ocs 2.1d
	BASIC			ACE 2.3
	lua			lua 2.1
	Ada 9X			AVLAda9X
	Marpa			Marpa Alpha 2.8
	Oberon-2		o2c
new versions:
	Perl5			perl5 5.001
	C, C++,etc		gdb 4.14
	RLaB			RLaB 1.18d
	Modula-3		SRC Modula-3 3.5
	awk (new)		gawk 2.15.6
	lex			flex 2.5.2
	BNF (Extended)		PCCTS 1.31
	BNF (yacc)		Bison-A2.3
	Modula-3		m2tom3 translator 2.00
	C (ANSI)		lcc 3.2
	Korn Shell		pdksh 5.1.3
	DSP56001 asm		a56 1.2
	Prolog			clp(FD) 2.2
	Prolog			wamcc 2.2
	Octave			octave 1.1.1
	Haskell			Glasgow Haskell 0.23
	C, C++, Obj-C		gcc 2.6.3
	Python			Python 1.2
	BNF			Eli 3.8
	Bourne Shell		Bash 1.14.4
	Scheme			Hobbit 4b
revised entry:
	Scheme->C		Windows NT patches.
	Tcl			Tcl 7.3 OS/2 port
	BNF (Extended)		Gray
	orthogonal		orthogonal
	BNF (Extended)		GMD Toolbox
	Modula-2		mtc
	6502 asm	
	Pascal			Pascal P4
	ABC			Grammar Analysis Tools, Examples


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


language:	**Reference Entry 
		Language: what the software compiles/interprets...
package:	**The name of the package
version:	**Its current version
parts:		**compiler, assembler, interpreter, translator, grammar(yacc,
		lex), library, documentation, examples, assembler, simulator,
		tutorial, test suite, byte-code compiler, run-time,
		translator(from->to)...	 Compilers that use C as an 
		intermediate lanaguage should be noted as "compiler(->C)".
		Compilers that compile into a coded representation that is
		interpreted by a runtime module should be noted as "bytecode
		compiler".  Do not say "source code" -- if source is not
		included, do not send an entry at all!
author:		**the creator of the package.  Email addresses are in the 
		form "Real Name <email@address>".  Surface mail addresses
		are not used unless there is no email address.
location:	**where to get the source, how to get it -- usually an FTP site
		or two.	 May have subheaders for specific areas or different
		ports of the software (don't overdo this!):  Only official
		sites should be listed.	 The format for ftp directives is 
		"ftp dir/file from host", although valid URL's are also
		acceptable.
		No IP address is ever given.  No other ftp formats are allowed.
    Continent:	Sites for continent.
    Country:	Sites for country.
    System:	Sites for a particular port.
description:	**what the package is, possibly including some history
		A short review encouraged, but no propaganda please.
conformance:	how well does it conform to the existing Standard, if one
		exists
reference:	Research references and other external documentation.  
		 If there is more than one entry in the section indent all
		 but first line of each entry by one character
		If there is only one entry, then don't indent that single
		 entry at all.
features:	1. salient features not listed in the description.  
		2. You may list features with numbered lists 
		3. Or you may use bullet items:
		+ every bullet item should be a plus
		+ unless you want to say that something is an anti-feature
		- in which case you should use a minus.
		+ but in any case, you should put the + or - at the beginning
		  of the line.
bugs:		known bugs (also: where to go to find/report bugs)
restriction:	restrictions using the software will place on the user.
requires:	what is needed to install it.  A C compiler is assumed.
ports:		where it has been installed
portability:	how system-independent is it, system dependencies.
status:		development status (active, history, supported, etc)
discussion:	where discussion about the package takes place
help:		where help may be gotten from
support:	where support may be gotten from
contributions:	possible requests for money contributions (but no shareware)
announcements:	where new releases are announced
contact:	who to reach concerning the package (if not author) Email 
		addresses are in the form "Real Name <email@address>".	Surface 
		mail addresses are not used unless there is no email address.
updated:	**last known update to the package, not time of the update 
		to the entry in the catalog!
		The format of date is: yyyy/mm/dd, yyyy/mm, or yyyy. 
		No other formats are allowed.


In addition to the above, in entries for categories, and languages, 
cross-references can be made.  


cref:		cross-reference to a category
lref:		cross-reference to a language
iref:		(language it's filed under in parenthesis) cross-reference 
		to an implementation


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

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

language:	ABC
package:	ABC
version:	1.04.01
parts:		interpreter/compiler
author:		Leo Geurts, Lambert Meertens, 
		Steven Pemberton <Steven.Pemberton@cwi.nl>
location:	ftp /pub/abc/* from ftp.cwi.nl
		or http://www.cwi.nl/~steven/abc.html
description:	ABC is an imperative language embedded in its own environment.
		It is interactive, structured, high-level, very easy to learn,
		and easy to use.  It is suitable for general everyday
		programming, such as you would use BASIC, Pascal, or AWK for.
		It is not a systems-programming language. It is an excellent
		teaching language, and because it is interactive, excellent for
		prototyping.  ABC programs are typically very compact, around a
		quarter to a fifth the size of the equivalent Pascal or C
		program.  However, this is not at the cost of readability, on
		the contrary in fact.
reference:	"The ABC Programmer's Handbook" by Leo Geurts,
		 Lambert Meertens and Steven Pemberton, published by 
		 Prentice-Hall (ISBN 0-13-000027-2)
		"An Alternative Simple Language and Environment for PCs" 
		 by Steven Pemberton, IEEE Software, Vol. 4, No. 1, 
		 January 1987, pp.  56-64.
ports:		unix, MSDOS, atari, mac
discussion:	abc-list-request@cwi.nl
contact:	abc@cwi.nl
updated:	1991/05/02

language:	awk (new)
package:	mawk
version:	1.1.3
parts:		interpreter
author:		Mike Brennan <brennan@bcsaic.boeing.com>
location:	ftp public/mawk* from oxy.edu
description:	a pattern-directed language for massaging text files
conformance:	superset of (old, V7) awk
features:	+ RS can be a regular expression
		+ faster than most new awks
ports:		sun3,sun4:sunos4.0.3 vax:bsd4.3,ultrix4.1 stardent3000:sysVR3 
		decstation:ultrix4.1 msdos:turboC++
status:		actively developed
contact:	Mike Brennan <brennan@bcsaic.boeing.com>
updated:	1993/03/14

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

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

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

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

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

language:	BASIC
package:	?
version:	?
parts:		interpreter
author:		?
location:	ftp pub/unix-c/languages/basic/basic.tar-z from oak.oakland.edu
description:	public domain version of DEC's MU-Basic with Microsoft
		Basic mixed together
contact:	?
updated:	?

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

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

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

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

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

language:	ESL
package:	ESL
version:	0.2
parts:		?
author:		David J. Hughes <bambi@kirk.Bond.edu.au>
location:	Bond.edu.au [131.244.1.1] in /pub/Bond_Uni/Minerva
description:	Styled scripting language with automatic allocation,
		associative arrays, compilation to host-independent binary
		format, bindings to CMU-SNMP library
ports:		SPARC (under Sun OS 4.1.1), Solaris 2.3, Ultrix 4.3, Linux 1.0
updated:	1994/07/12

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

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

language:	Icon
package:	icon
version:	8.8 (8.7, 8.5, 8.0 depending on platform)
parts:		interpreter, compiler (some platforms), library (v8.8)
author:		Ralph Griswold <ralph@CS.ARIZONA.EDU>
location:	ftp icon/* from cs.arizona.edu
		MS-DOS version: ftp norman/iconexe.zip from bellcore.com
description:	Icon is a high-level, general purpose programming language that
		contains many features for processing nonnumeric data,
		particularly for textual material consisting of string of
		characters.  Some features are reminiscent of SNOBOL, which
		Griswold had previously designed.
		- no packages, one name-space
		- no exceptions
		+ object oriented features
		+ records, sets, lists, strings, tables
		+ unlimited line length
		- unix interface is primitive
		+ co-expressions
reference:	"The Icon Programming Language", Ralph E. Griswold and 
		 Madge T. Griswold, Prentice Hall, seond edition, 1990.
		"The Implementation of the Icon Programming Language", 
		 Ralph E. Griswold and Madge T. Griswold, Princeton 
		 University Press 1986
ports:		Amiga, Atari, CMS, Macintosh, Macintosh/MPW, MSDOS, MVS, OS/2,
		Unix (most variants), VMS, Acorn
discussion:	comp.lang.icon
contact:	icon-project@cs.arizona.edu
		mengarini@delphi.com for MS-DOS version
updated:	1992/08/21

language:	Icon
iref:		(BNF) Ibpag2

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

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

language:	Bourne Shell 
package:	Bash (Bourne Again SHell)
version:	1.14.4
parts:		parser(yacc), interpreter, documentation
author:		Brian Fox <bfox@vision.ucsb.edu>
location:	ftp bash-1.14.1.tar.gz from a GNU archive site
description:	Bash is a Posix compatible shell with full Bourne shell syntax,
		and some C-shell commands built in.  The Bourne Again Shell
		supports emacs-style command-line editing, job control,
		functions, and on-line help.  
bugs:		gnu.bash.bug, bug-bash@prep.ai.mit.edu
restriction:	GNU General Public License
updated:	1994/07/07

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

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

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

language:	Perl5 (Practical Extraction and Report Language)
package:	perl
version:	5.001
parts:		interpreter, debugger, libraries, tests, documentation
author:		Larry Wall <lwall@netlabs.com>
location:	many!
    N.America:	ftp://ftp.cis.ufl.edu/pub/perl/src/5.0/perl5.001.tar.gz
		ftp://prep.ai.mit.edu/pub/gnu/perl5.001.tar.gz
		ftp://ftp.uu.net/languages/perl/perl5.001.tar.gz
		ftp://ftp.khoros.unm.edu/pub/perl/perl5.001.tar.gz
		ftp://ftp.cbi.tamucc.edu/pub/duff/Perl/perl5.001.tar.gz
		ftp://ftp.metronet.com/perlinfo/source/perl5.001.tar.gz
		ftp://genetics.upenn.edu/perl5/perl5_001.zip
    Europe:	ftp://ftp.cs.ruu.nl/pub/PERL/perl5.0/perl5.001.tar.gz
		ftp://ftp.funet.fi/pub/languages/perl/ports/perl5/perl5.001.tar.gz
		ftp://ftp.zrz.tu-berlin.de/pub/unix/perl/perl5.001.tar.gz
		ftp://src.doc.ic.ac.uk/packages/perl5/perl5.001.tar.gz
		http://src.doc.ic.ac.uk/packages/perl5/perl5.001.tar.gz
		gopher://src.doc.ic.ac.uk/0/packages/perl5/perl5.001.tar.gz
    Australia:	ftp://sungear.mame.mu.oz.au/pub/perl/src/5.0/perl5.001.tar.gz
    MS-DOS:	(beta) send mail to Darryl Okahata <darrylo@hpnmhjw.sr.hp.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.  
features:	+ very-high semantic density becuase of powerful operators
		like regular expression substitution
		+ no arbitrary limits
		+ exceptions
		+ variables can be tied to arbitrary code (like dbm)
		+ direct access to almost all system calls
		+ can access binary data 
		+ many powerful idioms for common tasks
		+ 8-bit clean, including nulls
		+ dynamic loading of extensions
		+ constructors, destructors, multiple inheritence, operator overloading
		- syntax requires variable prefix characters
extensions:	Also availabe at major archives
    Tk:		ftp://sable.ox.ac.uk/pub/perl/tkperl5a5.tar.gz
    Curses:	ftp://ftp.ncsu.edu/pub/math/wsetzer/cursperl5a6.tar.gz
    Msql:	ftp://ftp.zrz.TU-Berlin.DE/pub/unix/perl/MsqlPerl-a1.tgz
    Sx (X11):	ftp://ftp.pasteur.fr/pub/Perl/Sx/Sx-1.6.tar.gz
    Database:	ftp://ftp.demon.co.uk:/pub/perl/db
archives:	ftp://ftp.metronet.com/pub/perlinfo
		ftp://ftp.cs.ruu.nl/pub/PERL
		ftp://ftp.khoros.unm.edu/pub/perl
references:	http://www.metronet.com/perlinfo/perl5.html
		http://www.metronet.com/0/perlinfo/perl5/manual/perl.html
		http://www.mit.edu:8001/perl/perl.html
		ftp://ftp.cis.ufl.edu/pub/perl/doc/faq.gz
		"Programming Perl" by Larry Wall and Randal L. Schwartz,
		 O'Reilly & Associates, Inc.  Sebastopol, CA.
		 ISBN 0-93715-64-1
		"Learning Perl" by Randal L. Schwartz, 
		 O'Reilly & Associates, Inc.  Sebastopol, CA.
		 ISBN 1-56592-042-2
bugs:		Send bugs to <perl5-porters@isu.edu>
ports:		most unix platforms, VMS, MS-DOS
portability:	very high for unix, not so high for others
updated:	1995/03/13

language:	Perl5, Tk
package:	tkperl5
version:	alpha 5
parts:		library
author:		Port by: Malcolm Beattie <mbeattie@sable.ox.ac.uk>.
		Tk by: John Ousterhout <ouster@cs.berkeley.edu>.
location:	ftp pub/perl/tkperl5a5.tar.gz from sable.ox.ac.uk
		ftp src/ALPHA/tkperl5a5.tar.gz from black.ox.ac.uk
description:	tkperl5 is a port of Tk to `native' Perl5. It takes advantage
		of perl5's object oriented features and magic variables to
		implement the Tk widget set in Perl5. Nothing touches the Tcl
		parser so knowledge of Tcl is not required. tkperl5alpha5
		builds against perl 5.000.
ports:		OSF/1, Ultrix, Next, Solaris, Linux, SunOS, HP-UX
updated:	1994/10/20

language:	Perl5
package:	Sx
version:	1.6
parts:		library
author:		Frederic Chauveau <fmc@pasteur.fr>
location:	ftp://ftp.pasteur.fr/pub/Perl/Sx-1.4.tar.gz
description:	Sx is X11 interface library that uses Xlib and the Athena
		widget set.
updated:	1994/10/25

language:	Perl5, Tcl
package:	Tcl-ext
version:	alpha 1
parts:		interpreter
author:		Wrapper by: Malcolm Beattie <mbeattie@sable.ox.ac.uk>.
		Tcl by: John Ousterhout <ouster@cs.berkeley.edu>.
location:	ftp pub/perl/Tcl-ext-a1.tar.gz from sable.ox.ac.uk
		ftp src/ALPHA/Tcl-ext-a1.tar.gz from black.ox.ac.uk
description:	This is a Tcl extension for perl5.  It lets you create Tcl
		interpreters, evalute scripts and files in them, bind commands
		into them which can be either C functions (presumably obtained
		via dynamic loading with dl_open or dl_find_symbol) or perl
		subroutines, manipulate Tcl variables and tie them to perl
		variables and so on.
updated:	1994/10/23

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 1-56592-042-2
		The perl FAQ, ftp from rtfm.mit.edu
features:	+ very-high semantic density becuase of powerful operators
		like regular expression substitution
		+ exceptions, provide/require
		+ associative array can be bound to dbm files
		+ no arbitrary limits
		+ direct access to almost all system calls
		+ can access binary data 
		+ many powerful idioms for common tasks
		+ 8-bit clean, including nulls
		- three variable types: scalar, array, and hash table
		- syntax requires variable and function prefix characters
bugs:		comp.lang.perl; Larry Wall <lwall@netlabs.com>
ports:		almost all unix, MSDOS, Mac, Amiga, Atari, OS/2, VMS, NT, MVS
portability:	very high for unix, not so high for others
discussion:	comp.lang.perl
    Macintosh:	mpw-perl-request@iis.ee.ethz.ch
updated:	1993/02/07

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

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

language:	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:	Proxy
package:	Proxy
version:	1.4
parts:		interpreter, documentation
author:		Burt Leavenworth <edlsoft@delphi.com>
location:	ftp pub/scheme-repository/scm/proxy.zip from ftp.cs.indiana.edu
description:	Proxy is an interpreter dor a rapid prototyping/specification
		language with C/C++ like syntax based on modelling software
		using data structures such as sets, maps, sequences, structures
		and objectss. It allows the developer to make incremental
		changes to a design and test them immediately. Proxy is written
		in Scheme, provides a Scheme interface.
		New in version 1.4 is a non-preemptive CSP-like multi-tasking facility.
ports:		MS-DOS
updated:	1994/09/23

language:	Python
package:	Python
version:	1.2
parts:		interpeter, libraries, documentation, emacs macros
author:		Guido van Rossum <guido@cwi.nl>
		OS/2 port by:
		   Simon K Johnston <S.K.Johnston.bra0801@oasis.icl.co.uk>
location:	ftp pub/python* from ftp.cwi.nl
    N.America:	ftp pub/plan/python/cwi from gatekeeper.dec.com
    N.America:	ftp languages/python fromftp.uu.net
    Europe:	ftp pub/unix/languages/python from ftp.fu-berlin.de
    Finland:	ftp pub/languages/python from ftp.funet.fi
    UK:		ftp uunet/languages/python from unix.hensa.ac.uk
description:	Python is a simple, yet powerful programming language
		that bridges the gap between C and shell programming,
		and is thus ideally suited for rapid prototyping.  Its
		syntax is put together from constructs borrowed from a
		variety of other languages; most prominent are
		influences from ABC, C, Modula-3 and Icon.  Python is
		object oriented and is suitable for fairly large programs.
		+ packages
		+ exceptions
		+ good C interface
		+ dynamic loading of C modules
		+ methods, inheritance
		- arbitrary restrictions
		+ supports the native windowing system with most platforms
		- does not support a common windowing api across platforms
reference:	Python documentation URL <http://www.cwi.nl/~guido/Python.html>
extensions:	tkinter (Tcl's Tk), termios, curses, syslog, sybase
ports:		unix, Macintosh, OS/2, Windows 3.1 (with Win32s), Windows NT
discussion:	python-list-request@cwi.nl
updated:	1994/10/11

language:	Python
iref:		(BNF variant) kwParsing ?

language:	PILOT
package:	pilot
version:	1.6
parts:		compiler(->C), interpreter, library, documentation, examples,
		tutorial, test suite.
author:		Eric S. Raymond <esr@snark.thyrsus.com>
location:	ftp locke.ccil.org:pub/retro/pilot-1.6.shar.gz
		(in the Museum of Retrocomputing)
description:	PILOT is a primitive CAI language first designed in 1962 on IBM
		mainframes.  It is rather weak and has very odd lexical rules,
		but is easy to learn and use.  I wrote this implementation
		strictly as a hack, but it works and does include an
		interactive tutorial written in PILOT itself which is also a
		decent test load.  This implementation is both an interpreter
		for the PILOT language and a compiler for it using C as an
		intermediate language.
conformance:	Reference implementation of the IEEE Standard for PILOT, 1154-1191
bugs:		report to Eric S. Raymond <esr@snark.thyrsus.com>
restrictions:	If you plan to make money from it, contact the author.
portability:	Any ANSI C host.
announcements:	comp.lang.misc,alt.lang.intercal
updated:	1994/10/16
 
language:	Python
package:	vpApp
version:	0.2
parts:		Class Library, User Reference
author:		Per Spilling <per@cwi.nl>
		Real Name <email@address>
location:	ftp.cwi.nl in /pub/python/vpApp.tar.gz.
description:	vpApp = visual-programming application.	 It supports the
		building of applications in Python.
requires:	Python interpreter with built-in X support.
updated:	1994/05/06

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

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

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

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

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

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

language:	ssh (Steve's Shell)
package:	ssh
version:	1.7
parts:		interpreter
author:		Steve Baker <ice@judy.indstate.edu> with help from Thomas Moore
location:	comp.sources.unix volume 26
description:	A unix shell with a lot of csh/ksh-like features.
ports:		sequent, sun, next, ultrix, bsdi
updated:	1993/04/15

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

language:	Tcl (Tool Command Language)
package:	Tcl
version:	7.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
    OS/2:	ftp /os2/unix/tcl2-73c.zip from hobbes.nmsu.edu
description:	A small text-oriented embedded language similar to LISP with
		add-on extensions that allow it to also function more as a
		shell.	Tcl also allows algebraic expressions to be written
		for simplicity and convenience.	 Its greatest strength lies
		in its uniform representation of everything as a string.
		This is also its weakness.
		+ may be used as an embedded interpreter
		+ exceptions, packages (called libraries)
		- only a single name-space
		+ provide/require
		- no dynamic loading ability
		+ 8-bit clean
		- only three variable types: strings, lists, associative arrays
bugs:		?
requires:	DOS port requires Desqview/X.
ports:		MSDOS, others in progress (see comp.lang.tcl FAQ)
discussion:	comp.lang.tcl
updated:	1993/11/15

language:	Tcl, Tk
package:	Tk
version:	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.2
parts:		library
author:		Larry Rowe ?
location:	mm-ftp.cs.berkeley.edu [128.32.149.157] in the
		   /pub/multimedia/Tcl-DP directory.
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:	1994/06/01

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

language:	Tcl
package:	Wafe
version:	1.0
parts:		interface
author:		Gustaf Neumann <neumann@watson.ibm.com>
location:	ftp pub/src/X11/wafe/wafe-1.0.tar.gz from ftp.wu-wien.ac.at
description:	Wafe (Widget[Athena]front end) is a package that implements
		a symbolic interface to the Athena widgets (X11R5) and
		OSF/Motif.  A typical Wafe application consists of two
		parts: a front-end (Wafe) and an application program which
		runs typically as a separate process.  The distribution
		contains sample application programs in Perl, GAWK, Prolog,
		Tcl, C and Ada talking to the same Wafe binary.
portability:	very high, just needs X11R4 or X11R5.
discussion:	send "subscribe Wafe <Your Name>" to listserv@wu-wien.ac.at
updated:	1994/06/26

language:	Tcl
package:	Extended Tcl (tclx)
version:	7.3b
parts:		library
author:		Mark Diekhans <markd@Grizzly.com>,
		Karl Lehenbauer <karl@NeoSoft.com>
location:	ftp pub/tcl/distrib/tclX7.3b.tar.gz from ftp.neosoft.com
		ftp pub/tcl/extensions/tclX7.3b.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/07/17

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

language:	Tcl
package:	MTtcl - Multi-threaded Tcl
version:	0.8
parts:		interpreter, library
location:	ftp tcl/extensions/MTtcl0.8.tar.gz from ftp.aud.alcatel.com
description:	The MTtcl package gives Tcl/Tk programmers access to the
		multi-threading features of Solaris 2.	The package comes in
		two parts; a modified version of Tcl 7.3, and a Tcl threads
		extension.
		Modifications were necessary to enable Tcl to work "safely" in
		the presence of multiple threads.  The Tcl interpretter uses a
		number of static and global variables to execute scripts.  If
		two threads are using the same global, the behavior of the
		script may be unpredictable.  This "safe" Tcl is called
		MT-Sturdy Tcl.
		The threads extension brings multi-thread programming into the
		Tcl environment.  Multiple scripts can be interpretted
		simultaneously with communication and synchronization between
		scripts.  There is special support for using threads in Tk
		scripts.  Documentation for the threads commands are in the
		form of man pages.
requires:	Sparc, Solaris 2.3, Sparcworks 3.0 C compiler, Tcl 73, Tk 3.6
ports:		Sparc Solaris 2.3
updated:	1994/11/02

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

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

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

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

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

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

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

language:	Z-shell
package:	zsh
version:	2.5.0
parts:		interpreter
author:		Paul Falstad <pf@ttisms.com>
location:	ftp pub/bas/zsh/zsh-*.tar.z from carlo.phys.uva.nl
		comp.sources.misc (v43i089)
description:	zsh is most similar to ksh, while many of the additions are to
		please csh users.
features:	+ multi-line commands editable as a single buffer,
		+ variable editing (vared),
		+ command buffer stack,
		+ recursive globbing,
		+ manipulation of arrays,
		+ spelling correction.
ports:		Berkeley-based Unix, SVR4-based Unix 
discussion:	zsh-request@cs.uow.edu.au
contact:	zsh-list@cs.uow.edu.au
updated:	1994/07/13

functional languages
-------------------------------------------------------------------------------
category:	functional languages
description:	[someone have a good one-liner?	 --ed]
lref:		es
lref:		LIFE
lref:		ALLOY

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

language:	Caml 
package:	Caml Light
version:	0.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), Windows, Atari ST
portability:	very high
status:		actively developed
discussion:	caml-list@margaux.inria.fr, comp.lang.ml
contact:	Xavier Leroy <Xavier.Leroy@inria.fr>
updated:	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
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.30
parts:		interpreter, compiler(->C), documentation, examples
author:		Mark Jones <jones-mark@cs.yale.edu>
location:	ftp pub/haskell/gofer/* from nebula.cs.yale.edu
    UK:		ftp pub/haskell/gofer/* from ftp.dcs.glasgow.ac.uk
    Sweden:	ftp pub/haskell/gofer/* from ftp.cs.chalmers.se
description:	Gofer is based quite closely on the Haskell programming
		language, version 1.2.	It supports lazy evaluation, higher
		order functions, pattern matching, polymorphism, overloading
		etc and runs on a wide range of machines.
conformance:	Gofer does not implement all of Haskell, although it is 
		very close.
ports:		many, including Sun, PC, Mac, Atari, Amiga
status:		maintained but not developed (for a while anyway)
updated:	1994/06/10

language:	Gofer
iref:		(BNF ?) Ratatosk

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

language:	Haskell
package:	Glasgow Haskell Compiler (GHC)
version:	0.23
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:	1994/07/27

language:	Haskell
package:	Yale Haskell
version:	2.1
parts:		compiler, documentation, reference manual (dvi format)
author:		Yale Haskell project <haskell-request@cs.yale.edu>
location:	ftp pub/haskell/yale/* from nebula.cs.yale.edu
    UK:		ftp pub/haskell/yale/* from ftp.dcs.glasgow.ac.uk
    Sweden:	ftp pub/haskell/yale/* from ftp.cs.chalmers.se
description:	?
features:	X-window interface, available at the Haskell level too.
requires:	CMU Common Lisp, Lucid, Common Lisp, Allegro Common Lisp, or
		Harlequin LispWorks
ports:		SunOS 4.1.2, Sparc 10 (sun4m) 4.1.3
discussion:	haskell-request@cs.yale.edu
    Europe:	haskell-request@dcs.glasgow.ac.uk
contact:	haskell-request@cs.yale.edu
updated:	1994/07/29

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

language:	IFP (Illinois Functional Programming)
package:	ifp
version:	0.5
parts:		interpreter
author:		Arch D. Robison <robison@shell.com>
location:	comp.sources.unix archive volume 10
description:	A variant of Backus' "Functional Programming" language
		with a syntax reminiscent of Modula-2.	The interpreter
		is written in portable C.
reference:	Arch D. Robison, "Illinois Functional Programming: A
		 Tutorial," BYTE, (February 1987), pp. 115--125.
		Arch D. Robison, "The Illinois Functional
		 Programming Interpreter," Proceedings of 1987 SIGPLAN
		 Conference on Interpreters and Interpretive Techniques,
		 (June 1987), pp. 64-73
ports:		Unix, MS-DOS, CTSS (Cray)
updated:	?

language:	ML
package:	LML
version:	?
parts:		compiler(?), interactive environment
author:		?
location:	ftp pup/haskell/chalmers/* from animal.cs.chalmers.se
description:	lazy, completely functional variant of ML.
ports:		?
contact:	?
updated:	1992/07/06

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

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

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

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

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

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

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

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

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

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