home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-10-17 | 349.7 KB | 8,921 lines |
-
- Article: 79859 in news.answers
- Path: Dortmund.Germany.EU.net!main.Germany.EU.net!Frankfurt.Germany.EU.net!howland.erols.net!newsfeed.internetmci.com!in2.uu.net!ivan.iecc.com!ivan.iecc.com!not-for-mail
- From: free-compilers@idiom.com (Steven Robenalt)
- Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
- Subject: Catalog of compilers, interpreters, and other language tools [p1of5]
- Supersedes: <free1-Aug-96@comp.compilers>
- Followup-To: comp.lang.misc
- Date: 1 Sep 1996 07:00:04 -0400
- Organization: Idiom Consulting / Berkeley, CA
- Lines: 1803
- Sender: johnl@iecc.com
- Approved: compilers@iecc.com
- Expires: 1 Oct 96 23:59:00 GMT
- Message-ID: <free1-Sep-96@comp.compilers>
- Reply-To: free-compilers@idiom.com (Steven Robenalt)
- NNTP-Posting-Host: ivan.iecc.com
- Summary: Monthly posting of free language tools that include source code
- Keywords: compilers, interpreters, languages, tools, FTP
- Xref: Dortmund.Germany.EU.net comp.compilers:8595 comp.lang.misc:16587 comp.archives.admin:1453 news.answers:79859 comp.answers:20796
-
- Archive-name: compilers/free/part1
- Last-modified: 1996/04/01
- Version: 9.0
-
- -------------------------------------------------------------------------------
- Catalog of Free Compilers and Interpreters.
- -------------------------------------------------------------------------------
-
- Copyright (c) 1992, 1993, 1994, David Muir Sharnoff, All Rights Reserved
- Copyright (c) 1994, 1995, 1996, Steven Allen Robenalt, All Rights Reserved
-
- This list catalogues freely available software for language tools, which
- includes the following: compilers, compiler generators, interpreters,
- translators, important libraries, assemblers, etc. -- things whose user
- interface is a language. Natural language processing tools may also
- be included.
-
- This list is primarily aimed at developers rather than researchers, and
- consists mainly of citations for production quality systems. There is some
- overlap of coverage between this document and other lists and catalogs. See
- the references section for a list...
-
- All the listed items should be free and come with source code, exceptions have
- generally been deleted from the list in the past. If you find any such items
- in the list let me know and I'll remove them.
-
- The latest version of the catalog can be ftp'ed: get
-
- ftp://ftp.idiom.com/pub/compilers-list/free-compilers
-
- There is a HTML version available at:
-
- http://www.idiom.com/free-compilers
-
- Not all entries have complete citations. Some fields are filled with
- question marks (?). Fields with both the ? and an entry are implicit
- requests for confirmation. Also, specific questions will often be
- asked [in brackets --ed].
-
- If you have information not included in here or updates to information
- listed here, a template has been provided below for you to use. You
- can send whatever new items or updates you have to
- <free-compilers@idiom.com>.
-
- -------------------------------------------------------------------------------
- overview (table of contents)
- -------------------------------------------------------------------------------
-
- Section Parts
- Catalog of Free Compilers and Interpreters. 1
- overview (table of contents) 1
- history 1
- prototype entry 1
- tools 1
- scripting languages 1
- functional languages 1
- C variants 2
- compiled, imperative languages 2
- object oriented languages 2
- lisp family 3
- document formatting languages 3
- logic programming languages 3
- concurrent, parallel, and simulation languages 4
- Forth family languages 4
- compiler generators and related tools 4
- mathematical tools and languages 4
- electrical engineering languages 4
- Wirth family languages 5
- assemblers 5
- macro preprocessors 5
- special purpose languages 5
- natural languages 5
- curiosities 5
- unable to classify due to lack of knowledge 5
- references 5
- archives 5
- cross-reference 5
-
- -------------------------------------------------------------------------------
- history
- -------------------------------------------------------------------------------
-
- This document grew out of David Muir Sharnoff filing away postings that he
- saw (mostly Ed Vielmetti's postings to comp.archives) during 1991 and the
- first half of 1992. At the Summer 1992 USENIX Technical Conference, the
- other attendees of the archivists BOF convinced David to compile his data
- into a posting. David posted for about one year, then turned the list over
- to Mark Hopkins. Mark Hopkins <markh@csd4.csd.uwm.edu> took care of it for
- the summer of 1993 and then gave it back to David Sharnoff when he dropped
- off the net. Steve Robenalt <steven_robenalt@uscs.com> took over the list
- maintenance from Dave in January 1994. It was returned to Mark Hopkins
- <mark@omnifest.uwm.edu> in May 1994, but Dave's organization, Idiom
- Consulting, remains as the focal point for information to be submitted.
- In July through November 1994, David created a HTML version of the list while
- updates piled up. Eric S. Raymond made quite a few edits during this
- conversion process that had to be edited in by hand 'cause the compilers
- list was kinda unstable. Eventually, David and Steve took care of the
- backlog and passed maintenance back to Mark. Now that you are probably
- completely confused about who does what, Steve is maintaining the list again.
- After cleaning up a large portion of a rather hefty backlog from the past
- six months, I would like to request that whenever possible, readers of this
- list send in entries using the sample form provided, including the required
- information. If you find a tool useful and it's not here, do the author a
- favor and submit the information. It makes the updates much easier.
-
- If you should wish to make substantial changes to the free compilers list,
- please talk to us first. The version that you see is not quite the same as
- the version that we maintain.
-
- -------------------------------------------------------------------------------
- prototype entry
- -------------------------------------------------------------------------------
- Every entry should at least have the fields marked with two asterisks (**).
-
-
- language: **Reference Entry
- Language: what the software compiles/interprets...
- package: **The name of the package
- version: **Its current version
- parts: **compiler, assembler, interpreter, translator, grammar(yacc,
- lex), library, documentation, examples, assembler, simulator,
- tutorial, test suite, byte-code compiler, run-time,
- translator(from->to)... Compilers that use C as an
- intermediate lanaguage should be noted as "compiler(->C)".
- Compilers that compile into a coded representation that is
- interpreted by a runtime module should be noted as "bytecode
- compiler". Do not say "source code" -- if source is not
- included, do not send an entry at all!
- author: **the creator of the package. Email addresses are in the
- form "Real Name <email@address>". Surface mail addresses
- are not used unless there is no email address.
- location: **where to get the source, how to get it -- usually an FTP site
- or two. May have subheaders for specific areas or different
- ports of the software (don't overdo this!): Only official
- sites should be listed. The format for ftp directives is
- "ftp dir/file from host", although valid URL's are also
- acceptable.
- No IP address is ever given. No other ftp formats are allowed.
- Continent: Sites for continent.
- Country: Sites for country.
- System: Sites for a particular port.
- description: **what the package is, possibly including some history
- A short review encouraged, but no propaganda please.
- conformance: how well does it conform to the existing Standard, if one
- exists
- reference: Research references and other external documentation.
- If there is more than one entry in the section indent all
- but first line of each entry by one character
- If there is only one entry, then don't indent that single
- entry at all.
- features: 1. salient features not listed in the description.
- 2. You may list features with numbered lists
- 3. Or you may use bullet items:
- + every bullet item should be a plus
- + unless you want to say that something is an anti-feature
- - in which case you should use a minus.
- + but in any case, you should put the + or - at the beginning
- of the line.
- bugs: known bugs (also: where to go to find/report bugs)
- restriction: restrictions using the software will place on the user.
- requires: what is needed to install it. A C compiler is assumed.
- ports: where it has been installed
- portability: how system-independent is it, system dependencies.
- status: development status (active, history, supported, etc)
- discussion: where discussion about the package takes place
- help: where help may be gotten from
- support: where support may be gotten from
- contributions: possible requests for money contributions (but no shareware)
- announcements: where new releases are announced
- contact: who to reach concerning the package (if not author) Email
- addresses are in the form "Real Name <email@address>". Surface
- mail addresses are not used unless there is no email address.
- updated: **last known update to the package, not time of the update
- to the entry in the catalog!
- The format of date is: yyyy/mm/dd, yyyy/mm, or yyyy.
- No other formats are allowed.
-
-
- In addition to the above, in entries for categories, and languages,
- cross-references can be made.
-
-
- cref: cross-reference to a category
- lref: cross-reference to a language
- iref: (language it's filed under in parenthesis) cross-reference
- to an implementation
-
-
- -------------------------------------------------------------------------------
- tools
- -------------------------------------------------------------------------------
-
- scripting languages
- -------------------------------------------------------------------------------
- category: scripting languages
- description: These are languages that are primarily interpreted, and on
- unix sytems, can ususally be invoked directly from a text file
- using #!.
- iref: (Scheme) scsh
-
- language: ABC
- package: ABC
- version: 1.04.01
- parts: interpreter/compiler
- author: Leo Geurts, Lambert Meertens,
- Steven Pemberton <Steven.Pemberton@cwi.nl>
- location: ftp /pub/abc/* from ftp.cwi.nl
- or http://www.cwi.nl/~steven/abc.html
- description: ABC is an imperative language embedded in its own environment.
- It is interactive, structured, high-level, very easy to learn,
- and easy to use. It is suitable for general everyday
- programming, such as you would use BASIC, Pascal, or AWK for.
- It is not a systems-programming language. It is an excellent
- teaching language, and because it is interactive, excellent for
- prototyping. ABC programs are typically very compact, around a
- quarter to a fifth the size of the equivalent Pascal or C
- program. However, this is not at the cost of readability, on
- the contrary in fact.
- reference: "The ABC Programmer's Handbook" by Leo Geurts,
- Lambert Meertens and Steven Pemberton, published by
- Prentice-Hall (ISBN 0-13-000027-2)
- "An Alternative Simple Language and Environment for PCs"
- by Steven Pemberton, IEEE Software, Vol. 4, No. 1,
- January 1987, pp. 56-64.
- ports: unix, MSDOS, atari, mac
- discussion: abc-list-request@cwi.nl
- contact: abc@cwi.nl
- updated: 1991/05/02
-
- language: awk (new)
- package: mawk
- version: 1.2beta
- parts: interpreter
- author: Mike Brennan <brennan@bcsaic.boeing.com>
- location: ftp public/mawk* from oxy.edu
- description: a pattern-directed language for massaging text files
- conformance: superset of (old, V7) awk
- features: + RS can be a regular expression
- + faster than most new awks
- ports: sun3,sun4:sunos4.0.3 vax:bsd4.3,ultrix4.1 stardent3000:sysVR3
- decstation:ultrix4.1 msdos:turboC++
- status: actively developed
- contact: Mike Brennan <brennan@bcsaic.boeing.com>
- updated: 1994/12/16
-
- language: awk (new)
- package: GNU awk (gawk)
- version: 2.15.6
- parts: interpreter, documentation
- author: David Trueman <david@cs.dal.ca> and
- Arnold Robbins <arnold@cc.gatech.edu>
- location: ftp gawk-2.15.tar.Z from a GNU archive site
- description: a pattern-directed language for massaging text files
- conformance: superset of (old, V7) awk including some Plan 9 features
- ports: unix, msdos:msc5.1
- status: activly developed
- updated: 1995/03/09
-
- language: BASIC
- package: bwBASIC (Bywater BASIC interpreter)
- version: 2.10
- parts: interpreter, shell, ?
- author: Ted A. Campbell <tcamp@delphi.com>
- location: comp.sources.misc volume 40
- description: The Bywater BASIC Interpreter (bwBASIC) implements a large
- superset of the ANSI Standard for Minimal BASIC (X3.60-1978)
- implemented in ANSI C, and offers a simple interactive environ-
- ment including some shell program facilities as an extension of
- BASIC. The interpreter has been compiled successfully on a
- range of ANSI C compilers on varying platforms with no
- alterations to source code necessary.
- ports: DOS, Unix, Acorn's RISC OS
- updated: 1993/10/29
-
- language: BASIC
- package: ? basic ?
- version: ?
- parts: paser(yacc), interpreter
- author: ?
- location: comp.sources.unix archives volume 2
- description: ?
- updated: ?
-
- language: BASIC
- package: ? bournebasic ?
- version: ?
- parts: interpreter
- author: ?
- location: comp.sources.misc archives volume 1
- description: ?
- updated: ?
-
- language: BASIC
- package: ubasic
- version: 8.74
- parts: interpreter, documentation, examples
- author: Yuji Kida <kida@ax251.rikkyo.ac.jp>
- location: math.ohio-state.edu in pub/msdos/ubasic/
- N.America: ftp SimTel/msdos/ubasic/* from oak.oakland.edu
- Europe: ftp pub/msdos/SimTel/ubasic/* from ftp.funet.fi
- description: An implementation of BASIC with high precision real and complex
- arithmetic (up to 2600 digits), exact rational arithmetics,
- arithmetic of rational, modulo p or complex polynomials, and
- strings and linked lists. It supports algebraic,
- transcendental and arithmetic functions, some C-like and
- Pascal-like functions. The latest version supports VGA
- graphics.
- reference: reviewed in Notices of the A.M.S #36 (May/June 1989),
- and "A math-oriented high-precision BASIC", #38 (3/91)
- ports: MS-DOS, VGA capability present.
- updated: 1994/06/05
-
- language: BASIC
- package: ?
- version: ?
- parts: interpreter
- author: ?
- location: ftp pub/unix-c/languages/basic/basic.tar-z from oak.oakland.edu
- description: public domain version of DEC's MU-Basic with Microsoft
- Basic mixed together
- contact: ?
- updated: ?
-
- language: BASIC
- package: ACE - AmigaBASIC Compiler with Extras
- version: 2.3
- parts: Compiler (produces 68000 assembly code), assembler, linker,
- run-time libraries (linkable), text and AmigaGuide docs,
- integrated development environment, large collection of
- example programs, utilities.
- author: David Benn. E-mail: D.Benn@appcomp.utas.edu.au
- location: ftp /pub/ACE/ace23.lha from ftp.appcomp.utas.edu.au
- ftp dev/basic/ace23.lha from Aminet sites (wuarchive.wustl.edu)
- description: ACE is a FreeWare Amiga BASIC compiler which, in conjunction
- with A68K and Blink produces standalone executables.
- The language defines a large subset of AmigaBASIC but also has
- many features not found in the latter such as: turtle graphics,
- recursion, SUBs with return values, structures, arguments,
- include files, a better WAVE command which allows for large
- waveforms, external references, named constants and a variety
- of other commands and functions not found in AmigaBASIC.
- conformance: Follows AmigaBASIC fairly closely with most differences being
- minor. Many extra features have been added however. Major
- AmigaBASIC features yet to be implemented: double-precision
- floating point math, random files, sprites.
- bugs: See documentation: ace.doc, p 43-44.
- restrictions: See documentation: ace.doc, p 42-43 and conformance (above).
- portability: ACE is targetted at the Amiga but many generic BASIC
- programs will compile with little or no change.
- status: ACE is still being developed. Version 2.3 is its sixth release.
- discussion: Discussion list: send the message "subscribe ace FirstName
- LastName" to: Listserver@appcomp.utas.edu.au
- announcements: On the ACE discussion list and the newsgroup
- comp.sys.amiga.programmer
- updated: 1994/10/22
-
- language: Bourne Shell
- package: ash
- version: ?
- parts: interpreter, manual page
- author: Kenneth Almquist
- location: ftp from any 386BSD, NetBSD, or FreeBSD archive
- Linux: ftp pub/linux/ports/ash-linux-0.1.tar.gz from ftp.win.tue.nl
- description: A Bourne Shell clone. It works pretty well. For running
- scripts, it is sometimes better and sometimes worse than Bash.
- ports: 386BSD, NetBSD, FreeBSD, Linux
- updated: ?
-
- language: csh (C-Shell)
- package: tcsh
- version: 6.06
- parts: interpreter, manual page, html manual
- author: Christos Zoulas <christos@ee.cornell.edu>
- location: ftp://ftp.deshaw.com/pub/tcsh
- description: a modified C-Shell with history editing
- ports: unix, VMS_POSIX, nearing completion: OS/2 EMX.
- updated: 1994/06/27
-
- language: ERGO-Shell (a window-based Unix shell)
- package: ERGO-Shell
- version: 2.1
- parts: interpreter
- author: Regine Freitag <freitag@gmd.de>
- location: ftp gmd/ergo/? from ftp.gmd.de
- description: An ergonomic window-based Unix shell for software engineers.
- [Can one program in ERGO-Shell? --ed]
- bugs: Relative path names are not expanded on the SUN 3 port,
- expansion ability on SUN 4 only on certain conditions.
- requires: Needs X-windows (X11R4) or OSF/Motif (revision 1.1)
- ports: Sun 4
- contact: Dr. Wolfgang Dzida, GMD <dzida@gmd.de> or the author
- updated: 1993/06/04
-
- language: es (a functional shell)
- package: es
- version: 0.84
- parts: interpreter
- author: Byron Rakitzis <byron@netapp.com>, Paul Haahr <haahr@adobe.com>
- location: ftp pub/es/es-0.84.tar.Z from ftp.sys.utoronto.ca
- description: shell with higher order functions
- + builtin features implemented as redefineable functions
- updated: 1993/04/30
-
- language: ESL
- package: ESL
- version: 0.2
- parts: ?
- author: David J. Hughes <bambi@kirk.Bond.edu.au>
- location: Bond.edu.au [131.244.1.1] in /pub/Bond_Uni/Minerva
- description: Styled scripting language with automatic allocation,
- associative arrays, compilation to host-independent binary
- format, bindings to CMU-SNMP library
- ports: SPARC (under Sun OS 4.1.1), Solaris 2.3, Ultrix 4.3, Linux 1.0
- updated: 1994/07/12
-
- language: Glish
- package: glish
- version: 2.4.1
- parts: interpreter, C++ class library, user manual
- author: Vern Paxson <vern@ee.lbl.gov>
- location: ftp glish/glish-2.4.1.tar.Z from ftp.ee.lbl.gov
- description: Glish is an interpretive language for building loosely-coupled
- distributed systems from modular, event-oriented programs.
- These programs are written in conventional languages such as C,
- C++, or Fortran. Glish scripts can create local and remote
- processes and control their communication. Glish also provides
- a full, array-oriented programming language (similar to S) for
- manipulating binary data sent between the processes. In
- general Glish uses a centralized communication model where
- interprocess communication passes through the Glish
- interpreter, allowing dynamic modification and rerouting of
- data values, but Glish also supports point-to-point links
- between processes when necessary for high performance.
- reference: "Glish: A User-Level Software Bus for Loosely-Coupled
- Distributed Systems," Vern Paxson and Chris Saltmarsh,
- Proceedings of the 1993 Winter USENIX Conference, San Diego,
- CA, January, 1993.
- requires: C++
- ports: SunOS, Ultrix, HP/UX (rusty)
- updated: 1993/11/01
-
- language: ici
- package: ici
- version: ?
- parts: interpreter, documentation, examples
- author: Tim Long
- location: ftp pub/ici.tar.Z from ftp.su.edu.au
- ftp pub/oz/ici.tar.Z from nexus.yorku.ca
- description: ICI has dynamic arrays, structures and typing with the flow
- control constructs, operators and syntax of C. There are
- standard functions to provided the sort of support provided
- by the standard I/O and the C libraries, as well as additional
- types and functions to support common needs such as simple
- data bases and character based screen handling.
- features: + direct access to many system calls
- + structures, safe pointers, floating point
- + simple, non-indexed built in database
- + terminal-based windowing library
- ports: Sun4, 80x86 Xenix, NextStep, MSDOS, HP-UX
- portability: high
- status: actively developed.
- discussion: send "help" to listserv@research.canon.oz.au
- contact: Andy Newman <andy@research.canon.oz.au>
- updated: 1994/04/18
-
- language: Icon
- package: icon
- version: 8.8 (8.7, 8.5, 8.0 depending on platform)
- parts: interpreter, compiler (some platforms), library (v8.8)
- author: Ralph Griswold <ralph@CS.ARIZONA.EDU>
- location: ftp icon/* from cs.arizona.edu
- MS-DOS version: ftp norman/iconexe.zip from bellcore.com
- description: Icon is a high-level, general purpose programming language that
- contains many features for processing nonnumeric data,
- particularly for textual material consisting of string of
- characters. Some features are reminiscent of SNOBOL, which
- Griswold had previously designed.
- - no packages, one name-space
- - no exceptions
- + object oriented features
- + records, sets, lists, strings, tables
- + unlimited line length
- - unix interface is primitive
- + co-expressions
- reference: "The Icon Programming Language", Ralph E. Griswold and
- Madge T. Griswold, Prentice Hall, seond edition, 1990.
- "The Implementation of the Icon Programming Language",
- Ralph E. Griswold and Madge T. Griswold, Princeton
- University Press 1986
- ports: Amiga, Atari, CMS, Macintosh, Macintosh/MPW, MSDOS, MVS, OS/2,
- Unix (most variants), VMS, Acorn
- discussion: comp.lang.icon
- contact: icon-project@cs.arizona.edu
- mengarini@delphi.com for MS-DOS version
- updated: 1992/08/21
-
- language: Icon
- iref: (BNF) Ibpag2
-
- language: IVY
- package: Ivy
- version: experimental
- parts: interpreter
- author: Joseph H Allen <jhallen@world.std.com>
- location: alt.sources 1993/09/28 <CE1wo3.74A@world.std.com>
- description: A language with a pleasant syntax compared to perl, tcl or
- lisp. It has nice features like low punctuation count, blocks
- indicated by indentation, and similarity to normal procedural
- languages. This language started out as an idea for an
- extension language for the editor JOE.
- updated: 1993/09/28
-
- language: Korn Shell
- package: SKsh
- version: 2.1
- parts: interpreter, utilities
- author: Steve Koren <koren@hpfcogv.fc.hp.com>
- location: ftp pub/amiga/incom*/utils/SKsh021.lzh from hubcap.clemson.edu
- description: SKsh is a Unix ksh-like shell which runs under AmigaDos.
- it provides a Unix like environment but supports many
- AmigaDos features such as resident commands, ARexx, etc.
- Scripts can be written to run under either ksh or SKsh,
- and many of the useful Unix commands such as xargs, grep,
- find, etc. are provided.
- ports: Amiga
- updated: 1992/12/16
-
- language: Bourne Shell
- package: Bash (Bourne Again SHell)
- version: 1.14.5
- parts: parser(yacc), interpreter, documentation
- author: Brian Fox <bfox@vision.ucsb.edu>
- location: ftp://slc2.ins.cwru.edu/pub/dist/bash-1.14.5.tar.gz
- description: Bash is a Posix compatible shell with full Bourne shell syntax,
- and some C-shell commands built in. The Bourne Again Shell
- supports emacs-style command-line editing, job control,
- functions, and on-line help.
- bugs: gnu.bash.bug, bug-bash@prep.ai.mit.edu
- restriction: GNU General Public License
- updated: 1995/07
-
- language: Korn Shell
- package: pdksh
- version: 5.1.3
- parts: interpreter, documentation (complete man page)
- author: Michael Rendell <michael@cs.mun.ca> (maintainer)
- location: ftp://ftp.cs.mun.ca:pub/pdksh/pdksh.tar.gz
- description: pdksh is a public domain implementation of ksh88. pdksh was
- started by Eric Gisin based on Charles Forsyth's version
- of sh. It has since been maintained by John R MacMillan and
- Simon J. Gerraty and is currently maintained by Michael
- Rendell.
- conformance: Only major feature not implemented (yet) is Korn's
- @(patter1|pattern2|..) style pattern matching. A few
- other things are also missing like trap DEBUG (see NOTES
- file in distribution for details).
- bugs: should be reported to pdksh@cs.mun.ca.
- restriction: none
- ports: Most unix boxes (uses GNU autoconf), OS2.
- status: active (missing ksh88 features being added, being made POSIX
- conforming)
- support: pdksh@cs.mun.ca
- announcements: posted to comp.unix.shells newsgroup (also, send mail to
- pdksh-request to be placed on a mailing list for announcements)
- updated: 1994/12/22
-
- language: LPC
- package: LPC4
- version: 4.05.11
- parts: interpreter, bytecode compiler, documentation, sample scripts,
- sample mudlib
- author: Fredrik Hubinette <hubbe@lysator.liu.se>
- location: ftp pub/lpmud/drivers/profezzorn/* from ftp.lysator.liu.se
- description: A development of Lars Pensj|'s language for MUD, with
- script-running capability. LPC has a syntax similar to C,
- but works internally like Perl or some one-cell Lisp.
- features: mappings, dynamic arrays, binary strings (ie. they
- can contain zeros) and socket communication functions
- restriction: May currently not be used for monetary gain.
- (Imposed by Lars Pensj|)
- requires: yacc/byacc/bison
- ports: dynix, hp-ux, Sunos4, Solaris, Linux
- portability: Should work fine on most Unix.
- discussion: lpc4-request@lysator.liu.se
- updated: 1994/06/04
-
- language: lua
- package: lua
- version: 2.2
- parts: bytecode compiler, grammar(yacc, lex), library, documentation,
- examples, run-time, interpreter
- author: TeCGraf, the Computer Graphics Technology Group of PUC-Rio,
- the Catholic University of Rio de Janeiro, Brazil.
- contact Luiz Henrique de Figueiredo <lhf@icad.puc-rio.br>
- location: ftp://ftp.icad.puc-rio.br/pub/lua/lua-2.2.tar.gz
- http://www.inf.puc-rio.br/~roberto/lua.html
- description: Lua is a language for extending applications.
- features: simple syntax, variables need no declaration.
- associative arrays, user-controlled type constructors.
- variable number of arguments and multiple return values in
- functions.
- restriction: Lua is not in the public domain; TeCGraf keeps its copyright.
- Nevertheless, Lua is freely available for academic purposes.
- For commercial purposes, please contact TeCGraf.
- ports: unix (Sun, AIX, dec), DOS, MacOS
- portability: Lua is written in ANSI C and is completely portable.
- updated: 1995/11/28
-
- language: Perl (Practical Extraction and Report Language)
- package: perl5
- version: 5.002
- parts: interpreter, debugger, libraries, tests, documentation
- author: Larry Wall <lwall@netlabs.com>
- location: many!
- Africa: ftp://ftp.is.co.za:/programming/perl/CPAN/
- Australia: ftp://coombs.anu.edu.au:/pub/perl/CPAN/
- ftp://ftp.mame.mu.oz.au:/pub/perl/CPAN/
- ftp://ftp.tekotago.ac.nz:/pub/perl/CPAN/
- Austria: ftp://ftp.tuwien.ac.at:/pub/languages/perl/CPAN/
- Canada: ftp://mango.pinc.com:/pub/mirrors/CPAN/
- Czech Rep.: ftp://sunsite.mff.cuni.cz:/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
- Denmark: ftp://sunsite.auc.dk:/pub/languages/perl/CPAN/
- Finland: ftp://ftp.funet.fi:/pub/languages/perl/CPAN/
- France: ftp://ftp.ibp.fr:/pub/perl/CPAN/
- ftp://ftp.pasteur.fr:/pub/computing/unix/perl/CPAN/
- Germany: ftp://ftp.leo.org:/pub/comp/programming/languages/perl/CPAN/
- ftp://ftp.rz.ruhr-uni-bochum.de:/pub/CPAN/
- Greece: ftp://ftp.ntua.gr:/pub/lang/perl/
- Hungary: ftp://ftp.kfki.hu:/pub/packages/perl/
- Japan: ftp://ftp.lab.kdd.co.jp:/lang/perl/CPAN/
- Netherlands: ftp://http://www.cs.ruu.nl/pub/PERL/CPAN/
- New Zealand: ftp://ftp.tekotago.ac.nz:/pub/perl/CPAN/
- Poland: ftp://ftp.pk.edu.pl:/pub/lang/perl/CPAN/
- Portugal: ftp://ftp.ci.uminho.pt:/pub/lang/perl/
- Slovenia: ftp://ftp.arnes.si:/software/perl/CPAN/
- Spain: ftp://ftp.rediris.es:/mirror/CPAN/
- Sweden: ftp://ftp.sunet.se:/pub/lang/perl/CPAN/
- Switzerland: ftp://ftp.switch.ch:/mirror/CPAN/
- Taiwan: ftp://dongpo.math.ncu.edu.tw:/perl/CPAN/
- UK: ftp://ftp.demon.co.uk:/pub/mirrors/perl/CPAN/
- ftp://unix.hensa.ac.uk:/mirrors/perl-CPAN/
- USA: ftp://ftp.cdrom.com:/pub/perl/CPAN/
- ftp://ftp.cis.ufl.edu:/pub/perl/CPAN/
- ftp://uiarchive.cso.uiuc.edu:/pub/lang/perl/CPAN/
- ftp://ftp.delphi.com:/pub/mirrors/packages/perl/CPAN/
- ftp://ftp.uoknor.edu:/mirrors/CPAN/
- ftp://ftp.sedl.org:/pub/mirrors/CPAN/
- ftp://ftp.metronet.com:/pub/perl/
- ftp://ftp.sterling.com:/CPAN/
- description: Perl5 is a major rewrite and enhancement to perl4. It adds
- real data structures (by way of "references"), un-adorned
- subroutine calls, and method inheritance. It is repackaged
- with many extensions that can be dynamically loaded in the
- interpreter at runtime.
- features: + very-high semantic density becuase of powerful operators
- like regular expression substitution
- + no arbitrary limits
- + exceptions
- + variables can be tied to arbitrary code (like dbm)
- + direct access to almost all system calls
- + can access binary data
- + many powerful idioms for common tasks
- + 8-bit clean, including nulls
- + dynamic loading of extensions
- + constructors, destructors, multiple inheritence, and
- operator overloading
- + support for writing secure systems
- + many useful libraries and extensions
- references: http://www.perl.com/perl/index.html.
- "Programming Perl" by Larry Wall and Randal L. Schwartz,
- O'Reilly & Associates, Inc. Sebastopol, CA.
- ISBN 0-93715-64-1
- "Learning Perl" by Randal L. Schwartz,
- O'Reilly & Associates, Inc. Sebastopol, CA.
- ISBN 1-56592-042-2
- extensions: + Tk - easy to use X11 interface
- + tcl - dynamically load Tcl into perl
- + Curses - sreen-based
- + CGI - easy web programming
- + perlmenu - http://www.cc.iastate.edu/perlmenu/
- + DDI - interfaces to many relational databases
- + Safe - secure execution of untrusted code
- + Penguin - distributed secure execution of untrusted code
- bugs: Send bugs to <perl-bugs@perl.com>
- lref: Tk
- lref: Tcl
- ports: Almost all unix systems, Amiga, Atari, LynxOS, Macintosh,
- MPE, MS-DOS, MVS, Netware, OS/2, QNX, VMS, Windows 3.x,
- Windows NT (http://info.hip.com/ntperl/PerlFaq.htm)
- portability: Extreamly high.
- updated: 1996/02/29
-
- language: Perl (Practical Extraction and Report Language)
- package: perl
- version: 4.0 patchlevel 36
- parts: interpreter, debugger, libraries, tests, documentation
- author: Larry Wall <lwall@netlabs.com>
- location: ftp pub/perl.4.0/* from jpl-devvax.jpl.nasa.gov
- OS/2: ftp pub/os2/all/unix/prog*/perl4019.zip from hobbes.nmsu.edu
- Macintosh: ftp software/mac/src/mpw_c/Mac_Perl_405_* from nic.switch.ch
- Amiga: ftp perl4.035.V010.* from wuarchive.wustl.edu
- VMS: ftp software/vms/perl/* from ftp.pitt.edu
- Atari: ftp amiga/Languages/perl* from atari.archive.umich.edu
- MSDOS: ftp pub/msdos/perl/* from ftp.ee.umanitoba.ca
- ftp pub/msdos/perl/bperl* from oak.oakland.edu
- Windows NT: ftp://ntperl.hip.com/ntperl/ntperl5.001.src.zip
- ftp://ntperl.hip.com/ntperl/ntperl5.001.i86.zip
- MVS: ftp dist/perl-4036.tar.Z from oozelum.csi.cam.ac.uk
- Netware: contact Jack Thomasson <Jack_Thomasson@Novell.COM>
- description: perl is an interpreted language optimized for scanning
- arbitrary text files, extracting information from those text
- files, and printing reports based on that information. It's
- also a good language for many system management tasks.
- reference: "Programming Perl" by Larry Wall and Randal L. Schwartz,
- O'Reilly & Associates, Inc. Sebastopol, CA.
- ISBN 0-93715-64-1
- "Learning Perl" by Randal L. Schwartz,
- O'Reilly & Associates, Inc. Sebastopol, CA.
- ISBN 1-56592-042-2
- The perl FAQ, ftp from rtfm.mit.edu
- features: + very-high semantic density becuase of powerful operators
- like regular expression substitution
- + exceptions, provide/require
- + associative array can be bound to dbm files
- + no arbitrary limits
- + direct access to almost all system calls
- + can access binary data
- + many powerful idioms for common tasks
- + 8-bit clean, including nulls
- - three variable types: scalar, array, and hash table
- - syntax requires variable and function prefix characters
- bugs: comp.lang.perl; Larry Wall <lwall@netlabs.com>
- ports: almost all unix, MSDOS, Mac, Amiga, Atari, OS/2, VMS, NT, MVS
- portability: very high for unix, not so high for others
- discussion: comp.lang.perl
- Macintosh: mpw-perl-request@iis.ee.ethz.ch
- updated: 1993/02/07
-
- language: perl, awk, sed, find
- package: a2p, s2p, find2perl
- version: ?
- parts: translators(->perl)
- author: Larry Wall
- location: comes with perl
- description: translators to turn awk, sed, and find programs into perl
- programs.
- updated: ?
-
- language: Perl
- package: perl profiler.
- version: ? 1
- parts: profiler
- author: Anthony Iano-Fletcher <arf@maths.nott.ac.uk>
- location: Source posted on comp.lang.perl in mid-June 1993
- description: Profiles Perl scripts (mkpprof).
- Collates data from Perl scripts (pprof)
- updated: 1993/06/17
-
- language: Proxy
- package: Proxy
- version: 1.4
- parts: interpreter, documentation
- author: Burt Leavenworth <edlsoft@delphi.com>
- location: ftp pub/scheme-repository/scm/proxy.zip from ftp.cs.indiana.edu
- description: Proxy is an interpreter dor a rapid prototyping/specification
- language with C/C++ like syntax based on modelling software
- using data structures such as sets, maps, sequences, structures
- and objectss. It allows the developer to make incremental
- changes to a design and test them immediately. Proxy is written
- in Scheme, provides a Scheme interface.
- New in version 1.4 is a non-preemptive CSP-like multi-tasking facility.
- ports: MS-DOS
- updated: 1994/09/23
-
- language: Python
- package: Python
- version: 1.3
- parts: interpeter, libraries, documentation, emacs macros
- author: Guido van Rossum <guido@cwi.nl>
- OS/2 port by:
- Simon K Johnston <S.K.Johnston.bra0801@oasis.icl.co.uk>
- location: ftp pub/python* from ftp.cwi.nl
- N.America: ftp pub/plan/python from gatekeeper.dec.com
- N.America: ftp languages/python from ftp.uu.net
- Europe: ftp pub/unix/languages/python from ftp.fu-berlin.de
- Finland: ftp pub/languages/python from ftp.funet.fi
- UK: ftp uunet/languages/python from unix.hensa.ac.uk
- description: Python is a simple, yet powerful programming language
- that bridges the gap between C and shell programming,
- and is thus ideally suited for rapid prototyping. Its
- syntax is put together from constructs borrowed from a
- variety of other languages; most prominent are
- influences from ABC, C, Modula-3 and Icon. Python is
- object oriented and is suitable for fairly large programs.
- + packages
- + exceptions
- + good C interface
- + dynamic loading of C modules
- + methods, inheritance
- - arbitrary restrictions
- + supports the native windowing system with most platforms
- - does not support a common windowing api across platforms
- A beta release of the X extension for Python release 1.3 is
- now available by anonymous ftp from
- ftp://ftp.cwi.nl/pub/sjoerd/python-X.tar.gz
- Preformatted documentation is available from
- ftp://ftp.cwi.nl/pub/sjoerd/python-X-doc.ps.gz
- reference: Python documentation http://www.python.org/
- extensions: tkinter (Tcl's Tk), termios, curses, syslog, sybase
- lref: Tk
- ports: unix, Macintosh, OS/2, Windows 3.1 (with Win32s), Windows NT
- discussion: python-list-request@cwi.nl
- updated: 1995/04/10
-
- language: Python
- iref: (BNF variant) kwParsing ?
-
- language: PILOT
- package: pilot
- version: 1.6
- parts: compiler(->C), interpreter, library, documentation, examples,
- tutorial, test suite.
- author: Eric S. Raymond <esr@snark.thyrsus.com>
- location: ftp locke.ccil.org:pub/retro/pilot-1.6.shar.gz
- (in the Museum of Retrocomputing)
- description: PILOT is a primitive CAI language first designed in 1962 on IBM
- mainframes. It is rather weak and has very odd lexical rules,
- but is easy to learn and use. I wrote this implementation
- strictly as a hack, but it works and does include an
- interactive tutorial written in PILOT itself which is also a
- decent test load. This implementation is both an interpreter
- for the PILOT language and a compiler for it using C as an
- intermediate language.
- conformance: Reference implementation of the IEEE Standard for PILOT, 1154-1191
- bugs: report to Eric S. Raymond <esr@snark.thyrsus.com>
- restrictions: If you plan to make money from it, contact the author.
- portability: Any ANSI C host.
- announcements: comp.lang.misc,alt.lang.intercal
- updated: 1994/10/16
-
- language: Python
- package: vpApp
- version: 0.2
- parts: Class Library, User Reference
- author: Per Spilling <per@cwi.nl>
- Real Name <email@address>
- location: ftp.cwi.nl in /pub/python/vpApp.tar.gz.
- description: vpApp = visual-programming application. It supports the
- building of applications in Python.
- requires: Python interpreter with built-in X support.
- updated: 1994/05/06
-
- language: Q (also small subsets of Common Lisp and Scheme)
- package: Q
- version: ? 1
- parts: interpreter, compiler framework, libraries, documentation
- author: Per Bothner <bothner@cygnus.com>
- location: ftp pub/Q.* from ftp.cygnus.com
- description: Q is a very high-level programming language, and a test-bed for
- programming language ideas. Where APL uses arrays to explicit
- looping, Q uses generalized sequences (finite or infinite,
- stored or calculated on demand). It has lexical scoping, and
- some support for logical and constraint programming. The
- syntax was designed for convenient interactive use. A macro
- facility together with primitives to run programs is used to
- make an interactive command language with full shell features.
- The Q system is written in C++, and its run-time code may be
- useful to people implementing other languages.
- ports: Linux and SUN 4
- portability: Should work on 32-bit Unix-like systems
- updated: 1993/06/07
-
- language: REXX
- package: The Regina Rexx Interpreter
- version: 0.05i
- parts: interpreter, documentation, test programs
- author: Anders Christensen <anders@pvv.unit.no>
- location: ftp pub/rexx/regina-0.05g.tar.Z from flipper.pvv.unit.no
- N.America: ftp pub/freerexx/regina/regina-0.05d.tar.Z
- from rexx.uwaterloo.ca
- description: A Rexx interpreter. The VMS version has an almost complete
- set of DCL lexical functions in the interpreter. Ports to
- MS-DOS and OS/2 exist by lack special support for these
- platforms.
- conformance: Almost completely to Rexx Language Level 4.00 with some
- Rexx SAA API extensions.
- restriction: GNU General Public License
- ports: Unix, VMS, MS-DOS (partial), OS/2 (partial)
- discussion: comp.lang.rexx
- updated: 1993/10/15
-
- language: REXX
- package: ?
- version: 102
- parts: interpreter
- author: ? al ?
- location: ftp alrexx/rx102.tar.Z from rexx.uwaterloo.ca
- USA: ftp ? from tony.cat.syr.edu
- description: ?
- requires: C++
- ports: unix
- discussion: comp.lang.rexx
- contact: ?
- updated: 1992/05/13
-
- language: REXX
- package: REXX/imc
- version: 1.6
- parts: Interpreter, documentation.
- author: Ian Collier <imc@comlab.oxford.ac.uk>
- location: ftp pub/freerexx/imc/rexx-imc-1.6.tar.Z from rexx.uwaterloo.ca
- description: REXX for Unix. A general-purpose programming language
- designed by Mike Cowlishaw of IBM UK for readability and
- ease of use. Also useful as a control language for Unix
- or for applications which make use of REXX's programming
- interface (REXX/imc may be compiled as a dynamic C library
- for applications to include on some systems). REXX is an
- official scripting language of VM/CMS, OS/2 and AmigaDOS.
- conformance: REXX language level 4.00 (more or less), with some small
- extensions. The C programming interface is a subset of
- the SAA interface exhibited by OS/2 REXX.
- reference: "The REXX Language" 2nd edition, by M.F. Cowlishaw;
- Prentice-Hall 1990.
- ports: SunOS, AIX 3.2
- portability: Requires Unix-domain sockets (restriction may be relaxed in
- the future). Dynamic link function dlopen() is useful but
- not essential.
- status: Under slow development. Contact author for help/support.
- discussion: comp.lang.rexx (general forum for all REXX-related products).
- announcements: comp.lang.rexx
- updated: 1994/05/18
-
- language: sed
- package: GNU sed
- version: 2.04
- parts: interpreter, documentation
- author: Tom Lord <lord@cygnus.com>
- location: ftp sed-* from a GNU archive site
- description: A SED interpreter. Sed is a stream editing filter language.
- features: Modulo n line addressing.
- bugs: bug-gnu-utils@prep.ai.mit.edu
- updated: 1994/04/30
-
- language: rc (Plan 9 shell)
- package: rc
- version: 1.4
- parts: interpretor
- author: Byron Rakitzis <byron@netapp.com>
- location: ftp pub/rc/* from ftp.white.toronto.edu
- description: a free implementation of the Plan 9 shell.
- discussion: rc-request@hawkwind.utcs.toronto.edu
- updated: 1992/05/26
-
- language: S-Lang
- package: slang
- version: 0.94
- parts: interpreter, documentation, examples
- author: John E. Davis <davis@amy.tch.harvard.edu>
- location: ftp pub/slang/* from amy.tch.harvard.edu
- description: A small but highly functional embedded interpreter. S-Lang was
- a stack-based postfix language resembling Forth and BC/DC with
- limited support for infix notation. Now it has a C-like infix
- syntax. Arrays, Stings, Integers, Floating Point, and
- Autoloading are all suported. The editor JED embeds S-lang.
- restriction: GNU Library General Public License
- ports: MSDOS, Unix, VMS
- portability: Must be compiled with large memory model on MSDOS.
- updated: 1993/06/12
-
- language: Snobol4
- package: beta2
- version: 0.91
- parts: compiler(->C)
- author: Phil Budne <phil@cs.bu.edu>
- location: ftp snobol4/budne/beta2.tar.Z from cs.arizona.edu
- description: An implementation of Ralph Griswold's SNOBOL 4, a classic early
- language design specialized for text and string manipulation
- that (among other things) influenced UNIX rexexp syntax. See
- also Icon. This compiler is implemented as macro programs
- in SIL (SNOBOL Implementation Language); this is a SIL
- implementation plus macros with C as the target language.
- features: + supports loading of C library functions on BSD systems
- contact: snobol4@arizona.edu
- ports: various UNIX flavors, including 'generic' and 'POSIX' APIs
- updated: 1986/06/24
-
- language: Snobol4
- package: vanilla
- version: ?
- parts: compiler, documentation
- author: Catspaw, Inc.
- location: ftp snobol4/vanilla.arc from cs.arizona.edu
- description: An implementation of Ralph Griswold's SNOBOL 4, a classic early
- language design specialized for text and string manipulation
- that (among other things) influenced UNIX rexexp syntax. See
- also Icon. This implementation is closely related to Phil
- Budne's 'beta2' SNOBOL.
- ports: MSDOS
- contact: ?
- updated: 1994/11/01
-
- language: ssh (Steve's Shell)
- package: ssh
- version: 1.7
- parts: interpreter
- author: Steve Baker <ice@judy.indstate.edu> with help from Thomas Moore
- location: comp.sources.unix volume 26
- description: A unix shell with a lot of csh/ksh-like features.
- ports: sequent, sun, next, ultrix, bsdi
- updated: 1993/04/15
-
- language: subscript
- package: sub (seismic unix basic)
- version: 0.9
- parts: Embedded interpreter, demo application, User's Guide,
- example inputs for demo.
- author: Martin L. Smith (martin@ner.com)
- location: hilbert.mines.colorado.edu (138.67.12.63) in
- pub/cwpcodes/*sub*.tar
- description: subscript is a bytecode-compiled scripting language that
- provides a convenient way of manipulating binary stream
- data. It is currently distributed embedded in a demo
- application (sub), which illustrates the processing of
- seismic data, but the interpreter/compiler core is
- portable to other applications.
- features: the interpreted language provides atomic manipulation
- of vectors of floating-point values.
- requires: yacc.
- ports: Unixware 1.x, SunOS 4.x, NextStep, Linux 0.99.
- status: Undergoing active development, with future inclusion into
- the Colorado School of Mines' Seismic Unix package.
- updated: ?
-
- language: Tcl (Tool Command Language)
- package: Tcl
- version: 7.4
- parts: interpreter, libraries, tests, documentation
- author: John Ousterhout <ouster@cs.berkeley.edu>
- location: ftp://ftp.aud.alcatel.com/tcl
- http://www.sunlabs.com/research/tcl/
- MSDOS: harbor.ecn.purdue.edu in /pub/tcl/distrib/mstcl73e.zip
- Macintosh: ftp://ftp.smli.com/pub/tcl/mac/
- Examples: ftp tcl/* from barkley.berkeley.edu
- Kanji: ftp pub/lang/tcl/jp/tk3.2jp-patch.Z from srawgw.sra.co.jp
- OS/2: ftp /os2/unix/tcl2-73c.zip from hobbes.nmsu.edu
- description: A small text-oriented embedded language similar to LISP with
- add-on extensions that allow it to also function more as a
- shell. Tcl also allows algebraic expressions to be written
- for simplicity and convenience. Its greatest strength lies
- in its uniform representation of everything as a string.
- This is also its weakness.
- + may be used as an embedded interpreter
- + exceptions, packages (called libraries)
- - only a single name-space
- + provide/require
- - no dynamic loading ability
- + 8-bit clean
- - only three variable types: strings, lists, associative arrays
- bugs: ?
- requires: DOS port requires Desqview/X.
- ports: MSDOS, others in progress (see comp.lang.tcl FAQ)
- discussion: comp.lang.tcl
- updated: 1993/11/15
-
- language: Tcl, Tk
- package: Tk
- version: 4.0
- parts: GUI library
- author: John Ousterhout <ouster@sprite.Berkeley.EDU>
- location: ftp://ftp.aud.alcatel.com/tcl
- http://www.sunlabs.com/research/tcl/
- description: Tk is a X11 gui library that is designed to interoperate
- with Tcl. It provides a very easy way to create sophisticated
- applications. The appearance of Tk is very similar to Motif.
- updated: 1993/11/15
-
- language: Tcl
- package: BOS (The Basic Object System)
- version: 1.31
- parts: library
- author: Sean Levy <Sean.Levy@cs.cmu.edu>
- location: ftp tcl/? from barkley.berkeley.edu
- description: BOS is a C-callable library that implements the notion of
- object and which uses Tcl as its interpreter for interpreted
- methods (you can have "compiled" methods in C, and mix compiled
- and interpreted methods in the same object, plus lots more
- stuff). I regularly (a) subclass and (b) mixin existing
- objects using BOS to extend, among other things, the set of tk
- widgets (I have all tk widgets wrapped with BOS "classes"). BOS
- is a class-free object system, also called a prototype-based
- object system; it is modeled loosely on the Self system from
- Stanford.
- updated: 1992/08/21
-
- language: Tcl
- package: Tcl-DP
- version: 3.3
- parts: library
- author: Brian Smith and Lawrence Rowe
- location: ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/Tcl-DP
- description: Tcl-DP extends the "send" by removing the restriction
- that you can only send to other clients of the same
- X11 server. [could someone give a better description? --ed]
- contact: tcl-dp@roger-rabbit.CS.Berkeley.EDU
- bugs: tcl-dp-bugs@roger-rabbit.CS.Berkeley.EDU
- updated: 1995/06/20
-
- language: Tcl
- package: Tickle
- version: 5.0v1
- parts: editor, file translator, interpreter
- author: time@ice.com
- location: /pub/vendor/ice/tickle/Tickle5.0v1.hqx from ftp.msen.com
- description: A Macintosh Tcl interprter and library. It includes a
- text editor (>32k); file translation utilities; support
- for tclX extensions; some unix-equivelent utilites; access
- to Macintosh functions (Resource Manager, Communications
- Toolbox, OSA Components, Editions, and Apple Events); OSA
- Script Support; and Drag and Drop.
- bugs: time@ice.com?
- requires: ?
- ports: Mac
- portability: Mac-specific package
- updated: 1994/01/12
- lref: Tcl
-
- language: Tcl
- package: Wafe
- version: 1.0
- parts: interface
- author: Gustaf Neumann <neumann@watson.ibm.com>
- location: ftp pub/src/X11/wafe/wafe-1.0.tar.gz from ftp.wu-wien.ac.at
- description: Wafe (Widget[Athena]front end) is a package that implements
- a symbolic interface to the Athena widgets (X11R5) and
- OSF/Motif. A typical Wafe application consists of two
- parts: a front-end (Wafe) and an application program which
- runs typically as a separate process. The distribution
- contains sample application programs in Perl, GAWK, Prolog,
- Tcl, C and Ada talking to the same Wafe binary.
- portability: very high, just needs X11R4 or X11R5.
- discussion: send "subscribe Wafe <Your Name>" to listserv@wu-wien.ac.at
- updated: 1994/06/26
-
- language: Tcl
- package: Extended Tcl (tclx)
- version: 7.4a
- parts: library
- author: Mark Diekhans <markd@Grizzly.com>,
- Karl Lehenbauer <karl@NeoSoft.com>
- location: ftp://ftp.neosoft.com/pub/tcl/distrib/tclX7.4a.tar.gz
- ftp://ftp.aud.alcatel.com/tcl/extensions/tclX7.4a.tar.gz
- description: Extended Tcl adds statements to the Tcl language to provide
- high-level access unix system primitives.
- contact: tcl-project@NeoSoft.com
- updated: 1994/07/17
-
- language: Tcl
- package: tcl-debug
- version: ?
- parts: debugger
- author: Don Libes <libes@cme.nist.gov>
- location: ftp pub/expect/tcl-debug.tar.Z from ftp.cme.nist.gov
- description: A debugger for Tcl that can be easily embedded in other
- applications. It is included with many other Tcl libraries.
- updated: ?
-
- language: Tcl
- package: MTtcl - Multi-threaded Tcl
- version: 0.9
- parts: interpreter, library
- location: ftp://ftp.csua.berkeley.edu/pub/mttcl/MTtcl0.9.tar.gz
- description: The MTtcl package gives Tcl/Tk programmers access to the
- multi-threading features of Solaris 2. The package comes in
- two parts; a modified version of Tcl 7.4, and a Tcl threads
- extension.
- Modifications were necessary to enable Tcl to work "safely" in
- the presence of multiple threads. The Tcl interpretter uses a
- number of static and global variables to execute scripts. If
- two threads are using the same global, the behavior of the
- script may be unpredictable. This "safe" Tcl is called
- MT-Sturdy Tcl.
- The threads extension brings multi-thread programming into the
- Tcl environment. Multiple scripts can be interpretted
- simultaneously with communication and synchronization between
- scripts. There is special support for using threads in Tk
- scripts. Documentation for the threads commands are in the
- form of man pages.
- requires: Sparc, Solaris 2.3, Sparcworks 3.0 C compiler, Tcl 7.4, Tk 4.0
- ports: Sparc Solaris 2.3
- updated: 1994/11/02
-
- language: Tcl
- package: Cygnus Tcl Tools
- version: Release-930124
- parts: ?
- author: david d 'zoo' zuhn <zoo@cygnus.com>
- location: ftp pub/tcltools-* from cygnus.com
- description: A rebundling of Tcl and Tk into the Cyngus GNU build
- framework with 'configure'.
- updated: 1993/01/24
-
- language: Tcl
- package: tclmidi
- version: 2.0
- parts: ?? interpreter, documentation
- author: Mike Durian <durian@boogie.com>
- location: comp.sources.misc (v43i109)
- description: A language based on Tcl for creating/editing MIDI files. With
- the proper driver interface it can play them too. It supports
- function calls, recursion and conditionals (e.g. making the
- chorus of your song a function, using loops for repeats,
- etc.) Device drivers supplied for BSD, Linux and SVR4.
- requires: Tcl-7.X
- portability: Should work on POSIX compliant systems.
- updated: 1994/07/25
-
- language: Tcl
- package: narray
- version: 0.10
- author: Sam Shen <sls@gainful.lbl.gov>
- location: ftp://overload.lbl.gov/pub/narray
- description: NArray is an extension to help Tcl cope with large in-memory
- numeric arrays. NArray's require only a few more bytes than
- the storage required by the array. In addition to providing
- array referencing and setting, narray allows functions to be
- mapped over each element of the array. These functions are
- compiled into byte code for performance about 100x faster than
- straight tcl and only 5-10x slower than C. (These numbers are
- ball-park figures, actual results depend on the situation.)
- If you have netCDF, then narray's can be saved to and loaded from
- netCDF files.
- updated: 1994/09/24
-
- language: Tcl, Tk
- package: tknt
- version: 3.6 release 6beta4
- parts: interpeter, libraries, documentation
- author: port by Gordon Chaffee <chaffee@bugs-bunny.CS.Berkeley.EDU>
- and Lawrence A. Rowe <larry@cs.Berkeley.EDU> based on work by
- Ken Kubota of the University of Kentucky and Software Research
- Associates, Inc. of Japan.
- location: ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/winnt/tknt36r6beta4
- Europe: ftp://ftp.ibp.fr/pub/tcl/winnt/
- description: A port of Tcl/Tk and Tcl-DP to Windows NT. It has run under
- Windows NT 3.1, Windows NT 3.5, and in part on Windows 95 final
- Beta. Small parts of this distribution were taken from the
- tkwin package by Ken Kubota of the Mathematical Sciences
- Computing Facility at the University of Kentucky.
- bugs: tknt@plateau.CS.Berkeley.EDU
- updated: 1995/05/24
-
- language: Tcl
- package: Object Tcl
- version: 1.0
- parts: Tcl extension package including language reference, C++
- binding reference.
- author: Dean Sheehan <deans@x.co.uk>
- location: http://www.ixi.com/devt/ObjectTcl (source & doc)
- UK: http://www.x.co.uk/devt/ObjectTcl (source & doc)
- ftp://ftp.aud.alcatel.com (source only)
- description: Object Tcl is a standard Tcl extension package that
- supports object oriented programming within Tcl with a
- tight object oriented coupling to C++.
- bugs: otcl@x.co.uk
- requires: Tcl 7.?
- contact: otcl@x.co.uk
- updated: 1995/08/29
-
- language: Marpa
- package: Marpa
- version: 2.8
- parts: parser-generator, examples, document
- author: Jeffrey Kegler <jeffrey@best.com>
- location: ftp /pub/jeffrey/marpa/v2.8/marpa.2.8.tar.gz
- from ftp.best.com
- description: Marpa is a TCL 7.3 extended with an ambiguous context-free
- parser which uses Earley's algorithm. It is hacker friendly,
- with a variety of handy features. It is intended for use in
- implementing parsers that use the same crude but effective
- approaches to parsing that humans use, whether these humans
- be reading natural language or computer code. TCL code is
- attached to every production, explicitly or by default, and
- this is used to evaluate the result of the parse.
- Speed is reasonable if not blinding, and Marpa is in use in
- some applications. Marpa is the outcome of the Milarepa
- prototype which implemented a different general parsing
- algorithm in Perl.
- restriction: GNU Public License Version 2
- requires: TCL 7.3, GNU C compiler, GNU Make
- updated: 1995/04/19
-
- language: Expect
- package: Expect
- version: 5.12
- parts: interpreter, library, debugger, examples, documentation
- author: Don Libes <libes@nist.gov>
- location: ftp pub/expect/expect.tar.gz from ftp.cme.host.gov
- description: Used to automate, test, or GUI-ize interactive programs
- without any changes to underlying programs. Standalone
- version is driven with Tcl. A library is provided for use
- with C, C++, or any language that can call C functions.
- reference: "Exploring Expect", ISBN 1-56592-090-2, publisher: O'Reilly.
- Man pages included with software distribution.
- Numerous technical papers in conferences and journals,
- some of which are available via anonymous ftp from
- ftp.cme.nist.gov:pub/expect/*.ps.Z
- bugs: expect@nist.gov
- restriction: Expect itself is public-domain. Certain pieces such as Tcl
- are copyrighted but have unlimited availability.
- Nothing is GNU copylefted.
- requires: UNIX or something like it
- ports: ported to all UNIX systems and some non-UNIX systems
- portability: uses autoconf for automatic configuration
- status: stable, but certain extensions are being actively developed
- discussion: comp.lang.tcl
- help: author or comp.lang.tcl (or see next support field)
- support: official: Cygnus Support, unofficial: author, comp.lang.tcl,
- contributions: Awards or thank-you letters gratefully accepted.
- announcements: comp.lang.tcl
- contact: author
- updated: 1994/11/25
-
- language: Z-shell
- package: zsh
- version: 2.5.0
- parts: interpreter
- author: Paul Falstad <pf@ttisms.com>
- location: ftp pub/bas/zsh/zsh-*.tar.z from carlo.phys.uva.nl
- comp.sources.misc (v43i089)
- http://mal9000.bevc.blacksburg.va.us/zsh/zsh_home.shtml
- description: zsh is most similar to ksh, while many of the additions are to
- please csh users.
- features: + multi-line commands editable as a single buffer,
- + variable editing (vared),
- + command buffer stack,
- + recursive globbing,
- + manipulation of arrays,
- + spelling correction.
- ports: Berkeley-based Unix, SVR4-based Unix
- discussion: zsh-request@cs.uow.edu.au
- contact: zsh-list@cs.uow.edu.au
- updated: 1994/07/13
-
- functional languages
- -------------------------------------------------------------------------------
- category: functional languages
- description: [someone have a good one-liner? --ed]
- lref: es
- lref: LIFE
- lref: ALLOY
-
- language: Caml
- package: CAML
- version: 3.1
- parts: compiler, interactive development environment
- author: Ascander Suarez, Pierre Weis, Michel Mauny, others (INRIA)
- location: ftp lang/caml/* from ftp.inria.fr
- description: Caml is a programming language from the ML/Standard ML family,
- with functions as first-class values, static type inference
- with polymorphic types, user-defined variant and product
- types, and pattern-matching. The CAML V3.1 implementation
- adds lazy and mutable data structures, a "grammar" mechanism
- for interfacing with the Yacc parser generator,
- pretty-printing tools, high-performance arbitrary-precision
- arithmetic, and a complete library.
- bugs: caml@margaux.inria.fr
- ports: Sun-3 Sun-4 Sony-68k Sony-R3000 Decstation Mac-A/UX Apollo
- portability: low (built on a proprietary runtime system)
- status: maintained but no longer developed
- discussion: caml-list@margaux.inria.fr, comp.lang.ml
- contact: Pierre Weis <Pierre.Weis@inria.fr>
- updated: 1991/10/20
-
- language: Caml
- package: Caml Light
- version: 0.7
- parts: bytecode compiler, emacs mode, libraries, scanner generator,
- parser generator, runtime, interactive development environment
- author: Xavier Leroy, Damien Doligez (INRIA)
- location: ftp lang/caml-light/* from ftp.inria.fr
- description: Caml is a programming language from the ML/Standard ML family,
- with functions as first-class values, static type inference
- with polymorphic types, user-defined variant and product
- types, and pattern-matching. The Caml Light implementation
- adds a Modula-2-like module system, separate compilation,
- lazy streams for parsing and printing, graphics primitives,
- and an interface with C.
- features: very small
- bugs: caml-light@margaux.inria.fr
- ports: most unix, Macintosh, MSDOS (16 and 32 bit modes), Windows, Atari ST
- portability: very high
- status: actively developed
- discussion: caml-list@margaux.inria.fr, comp.lang.ml
- contact: Xavier Leroy <Xavier.Leroy@inria.fr>
- updated: 1995/07/06
-
- language: CAML, Bigloo
- package: Camloo
- version: 0.2
- parts: ?
- author: ? Manuel.Serrano@inria.fr, Pierre.Weis@inria.fr
- location: ftp from ftp.inria.fr [192.93.2.54], in Camloo0.2
- description: An implementation of CAML in Bigloo. It can be considered as
- an alternative to the regular camlc compiler. In particular,
- it has successfully compiled many complex Caml Light programs,
- including camlc and the Coq system (the ``calculus of
- constructions'', a proof assistant).
- conformance: Full compliance with Caml Light 0.6 and Caml Light Libraries
- (including camlyacc and camllex).
- requires: Bigloo1.6c (available from same address).
- contact: Manuel.Serrano@inria.fr, Pierre.Weis@inria.fr.
- updated: 1994/06/13
-
- language: Concurrent Clean
- package: The Concurrent Clean System
- version: 1.0.2
- parts: development environment, documentation, compiler(byte-code),
- compiler(native), interpreter(byte-code), examples
- author: Research Group on Functional Languages,
- Research Institute for Declarative Systems,
- University of Nijmegen
- location: ftp pub/Clean/* from ftp.cs.kun.nl
- www www.cs.kun.nl/~clean
- description: The Concurrent Clean system is a programming environment for
- the lazy functional language Concurrent Clean, developed at the
- University of Nijmegen, The Netherlands. The system is one of
- the fastest implementations of functional languages available
- at the moment. Its I/O libraries make it possible to do modern,
- yet purely functional I/O (including windows, menus, dialogs
- etc.).
- + lazy and purely functional
- + partial strict data types
- + strongly typed - based on Milner/Mycroft scheme
- + existential types
- + uniqueness types
- + type classes and type constructor classes
- + record types
- + module structure
- + modern I/O
- + programmer-infulenced evaluation order by annotations
- + parallel and distributed evaluation
- ports: Macintosh, PowerMac (native), Sun-4, Linux, OS2
- contact: clean@cs.kun.nl
- updated: 1995/08/03
-
- language: FP
- package: funcproglang
- version: 1.0
- parts: translator(C)
- author: E. S. Biagioni
- location: comp.sources.unix archive volume 13
- description: Backus FP languag
- updated: 1987
-
- language: Gofer (Haskell derivative)
- package: Gofer
- version: 2.30
- parts: interpreter, compiler(->C), documentation, examples
- author: Mark Jones <jones-mark@cs.yale.edu>
- location: ftp pub/haskell/gofer/* from nebula.cs.yale.edu
- UK: ftp pub/haskell/gofer/* from ftp.dcs.glasgow.ac.uk
- Sweden: ftp pub/haskell/gofer/* from ftp.cs.chalmers.se
- description: Gofer is based quite closely on the Haskell programming
- language, version 1.2. It supports lazy evaluation, higher
- order functions, pattern matching, polymorphism, overloading
- etc and runs on a wide range of machines.
- conformance: Gofer does not implement all of Haskell, although it is
- very close.
- ports: many, including Sun, PC, Mac, Atari, Amiga
- status: maintained but not developed (for a while anyway)
- updated: 1994/06/10
-
- language: Gofer
- iref: (BNF ?) Ratatosk
-
- language: Haskell
- package: Chalmers Haskell (aka Haskell B.)
- version: 0.999.5
- parts: compiler, interpreter, library, documentation, examples
- author: Lennart Augustsson <augustss@cs.chalmers.se>
- location: ftp pub/haskell/chalmers/* from nebula.cs.yale.edu
- UK: ftp pub/haskell/chalmers/* from ftp.dcs.glasgow.ac.uk
- Sweden: ftp pub/haskell/chalmers/* from ftp.cs.chalmers.se
- description: Full-featured implementation of Haskell 1.2,
- with quite a few "Haskell B" extensions
- requires: LML
- ports: many, including Sun, DEC, Sequent, PC, Symmetry
- (unsupported versions for NS32000, RT/PC, CRAY, SUN3, VAX,
- ARM, and RS6000.)
- discussion: haskell-request@cs.yale.edu
- Europe: haskell-request@dcs.glasgow.ac.uk
- contact: hbc@cs.chalmers.se
- updated: 1993/08/02
-
- language: Haskell
- package: Glasgow Haskell Compiler (GHC)
- version: 0.26
- parts: translator (C, SPARC), profiler
- author: AQUA project, headed by Simon Peyton Jones
- <simonpj@dcs.glasgow.ac.uk>
- location: ftp pub/haskell/glasgow/* from nebula.cs.yale.edu
- UK: ftp pub/haskell/glasgow/* from ftp.dcs.glasgow.ac.uk
- Sweden: ftp pub/haskell/glasgow/* from ftp.cs.chalmers.se
- http://www.dcs.glasgow.ac.uk/fp/software/ghc.html
- description: A near complete subset of Haskell 1.2, with numerous
- extensions from 1.3.
- conformance: All of Haskell 1.2 and some 1.3 is implemented.
- reference: Papers at ftp.dcs.glasgow.ac.uk (only) in pub/glasgow-fp,
- "Imperative functional programming",
- Peyton Jones & Wadler, POPL '93
- "Unboxed data types as first-class citizens",
- Peyton Jones & Launchbury, FPCA '91
- "Profiling lazy functional languages",
- Sansom & Peyton Jones, Glasgow workshop '92
- "Implementing lazy functional languages on stock hardware",
- Peyton Jones, Journal of Functional Programming, Apr 1992
- features: + An extensible I/O system is provided, based on a "monad"
- + In-line C code
- + Fully fledged unboxed data types,
- + Incrementally-updatable arrays
- + Mutable reference types.
- + Generational garbage collector
- bugs: <glasgow-haskell-bugs@dcs.glasgow.ac.uk>
- requires: GNU C 2.1+, perl
- ports: solid: Sun4, Sun3; sort of: HP-PA, Alpha, DECstation
- portability: should be high
- contact: <glasgow-haskell-request@dcs.glasgow.ac.uk>
- updated: 1994/07/27
-
- language: Haskell
- package: Yale Haskell
- version: 2.1
- parts: compiler, documentation, reference manual (dvi format)
- author: Yale Haskell project <haskell-request@cs.yale.edu>
- location: ftp pub/haskell/yale/* from nebula.cs.yale.edu
- UK: ftp pub/haskell/yale/* from ftp.dcs.glasgow.ac.uk
- Sweden: ftp pub/haskell/yale/* from ftp.cs.chalmers.se
- description: ?
- features: X-window interface, available at the Haskell level too.
- requires: CMU Common Lisp, Lucid, Common Lisp, Allegro Common Lisp, or
- Harlequin LispWorks
- ports: SunOS 4.1.2, Sparc 10 (sun4m) 4.1.3
- discussion: haskell-request@cs.yale.edu
- Europe: haskell-request@dcs.glasgow.ac.uk
- contact: haskell-request@cs.yale.edu
- updated: 1994/07/29
-
- language: Hope
- package: ?
- version: ?
- parts: ?
- author: ?
- location: ftp://ftp-ala.doc.ic.ac.uk/pub/papers/R.Paterson/hope.tar.gz
- http://www-ala.doc.ic.ac.uk/~rap/Hope/
- description: It's a fairly old functional language, its predecessor NPL
- having grown out of Burstall and Darlington's work on program
- transformation in the late 70s. Its key innovation, algebraic
- data types and pattern matching, has since become a fixture in
- all modern functional programming languages. When it was
- created (around 1980) it had adopted the key innovation of
- the language ML (also developed at Edinburgh), namely
- polymorphic types, which are
- also now a standard feature in FPLs.
- In my [rap's --ed] opinion, Hope's advantage over most other
- FPLs is its small size and simplicity. I think that makes
- it the ideal vehicle for learning functional programming.
- I also find ithandy for prototyping various ideas, and
- sometimes I fiddle with the interpreter to add experimental
- features.
- references: http://santos.doc.ic.ac.uk/~rap/Hope/
- ports: Unix, Mac, PC
- contact: Ross Paterson <rap@doc.ic.ac.uk>
- updated: 1992/11/27
-
- language: IFP (Illinois Functional Programming)
- package: ifp
- version: 0.5
- parts: interpreter
- author: Arch D. Robison <robison@shell.com>
- location: comp.sources.unix archive volume 10
- description: A variant of Backus' "Functional Programming" language
- with a syntax reminiscent of Modula-2. The interpreter
- is written in portable C.
- reference: Arch D. Robison, "Illinois Functional Programming: A
- Tutorial," BYTE, (February 1987), pp. 115--125.
- Arch D. Robison, "The Illinois Functional
- Programming Interpreter," Proceedings of 1987 SIGPLAN
- Conference on Interpreters and Interpretive Techniques,
- (June 1987), pp. 64-73
- ports: Unix, MS-DOS, CTSS (Cray)
- updated: ?
-
- language: ML
- package: LML
- version: ?
- parts: compiler(?), interactive environment
- author: ?
- location: ftp pup/haskell/chalmers/* from animal.cs.chalmers.se
- description: lazy, completely functional variant of ML.
- ports: ?
- contact: ?
- updated: 1992/07/06
-
- language: Standard ML
- package: SML/NJ (Standard ML of New Jersey)
- version: 0.93
- parts: compiler, libraries, extensions, interfaces, documentation,
- build facility
- author: D. B. MacQueen <dbm@research.att.com>, Lal George
- <george@research.att.com>, AJ. H. Reppy <jhr@research.att.com>,
- A. W. Appel <appel@princeton.edu>
- location: ftp dist/ml/* from research.att.com
- description: Standard ML is a modern, polymorphically typed, (impure)
- functional language with a module system that supports flexible
- yet secure large-scale programming. Standard ML of New Jersey
- is an optimizing native-code compiler for Standard ML that is
- written in Standard ML. It runs on a wide range of
- architectures. The distribution also contains:
- + an extensive library - The Standard ML of New Jersey Library,
- including detailed documentation.
- + CML - Concurrent ML
- + eXene - an elegant interface to X11 (based on CML)
- + SourceGroup - a separate compilation and "make" facility
- CML, eXene and SourceGroup not in the Macintosh port, but the
- Mac port has a built-in editor.
- ports: M68K, SPARC, MIPS, HPPA, RS/6000, I386/486, Macintosh, OS/2
- updated: 1993/02/18
-
- language: Concurrent ML
- package: Concurrent ML
- version: 0.9.8
- parts: extension
- author: ?
- location: ftp pub/CML* from ftp.cs.cornell.edu or get SML/NJ
- description: Concurrent ML is a concurrent extension of SML/NJ, supporting
- dynamic thread creation, synchronous message passing on
- synchronous channels, and first-class synchronous operations.
- First-class synchronous operations allow users to tailor their
- synchronization abstractions for their application. CML also
- supports both stream I/O and low-level I/O in an integrated
- fashion.
- bugs: sml-bugs@research.att.com
- requires: SML/NJ 0.75 (or later)
- updated: 1993/02/18
-
- language: PFL (Persistant Functional Language)
- package: pfl
- version: 0.1
- parts: ?, documentation, libraries
- author: Carol Small <carol@dcs.bbk.ac.uk>
- location: ftp pub/linux/? from ftp.demon.co.uk
- description: PFL is a computationally complete database environment
- restriction: GNU General Public License
- requires: GNU C++
- contact: Tim Holmes <timh@psammead.demon.co.uk>
- updated: 1994/06/01
-
- language: SASL
- iref: (SASL) Tim Budd's C++ implementation of Kamin's interpreters
-
- language: Standard ML
- package: sml2c
- version: ?
- parts: compiler(->C), documentation, tests
- author: School of Computer Science, Carnegie Mellon University
- location: ftp /usr/nemo/sml2c/sml2c.tar.Z from dravido.soar.cs.cmu.edu
- Linux: ftp pub/linux/smlnj-0.82-linux.tar.Z from ftp.dcs.glasgow.ac.uk
- description: sml2c is a Standard ML to C compiler. sml2c is a batch
- compiler and compiles only module-level declarations,
- i.e. signatures, structures and functors. It provides
- the same pervasive environment for the compilation of
- these programs as SML/NJ. As a result, module-level
- programs that run on SML/NJ can be compiled by sml2c
- without any changes. Based on SML/NJ version 0.67 and shares
- front end and most of its runtime system, but does not support
- SML/NJ style debugging and profiling.
- conformance: superset
- + first-class continuations,
- + asynchronous signal handling
- + separate compilation
- + freeze and restart programs
- ports: IBM-RT Decstation3100 Omron-Luna-88k Sun-3 Sun-4 386(Mach)
- portability: easy, easier than SML/NJ
- contact: david.tarditi@cs.cmu.edu anurag.acharya@cs.cmu.edu
- peter.lee@cs.cmu.edu
- updated: 1991/06/27
-
- language: Standard ML
- package: The ML Kit
- version: 1
- parts: interprter, documentation
- author: Nick Rothwell, David N. Turner, Mads Tofte <tofte@diku.dk>,
- and Lars Birkedal at Edinburgh and Copenhagen Universities.
- location: ftp diku/users/birkedal/* from ftp.diku.dk
- UK: ftp export/ml/mlkit/* from lfcs.ed.ac.uk
- description: The ML Kit is a straight translation of the Definition of
- Standard ML into a collection of Standard ML modules. For
- example, every inference rule in the Definition is translated
- into a small piece of Standard ML code which implements it. The
- translation has been done with as little originality as
- possible - even variable conventions from the Definition are
- carried straight over to the Kit. The Kit is intended as a
- tool box for those people in the programming language community
- who may want a self-contained parser or type checker for full
- Standard ML but do not want to understand the clever bits of a
- high-performance compiler. We have tried to write simple code
- and modular interfaces.
- updated: 1993/03/12
-
- language: Standard ML
- package: Moscow ML
- version: 1.30
- parts: bytecode compiler, runtime, libraries, documentation
- author: Sergei Romanenko <sergei-romanenko@refal.msk.su>
- location: ftp://ftp.dina.kvl.dk/pub/mosml/
- description: Moscow SML provides a light-weight implementation of the
- Standard ML Core language, a strict functional language widely
- used in teaching and research.
- Moscow SML is particularly suitable for teaching and
- experimentation, where fast compilation and modest storage
- consumption are more important than fast program execution.
- Thanks to the efficient run-time system of Caml Light, Moscow
- SML compiles fast and uses little memory. Typically it uses
- 5-10 times less memory than SML/NJ and 2-3 times less than
- Edinburgh ML. Yet the bytecode is only 3 to 12 times slower
- than SML/NJ 0.93 compiled native code (fast on PCs, slower on
- RISCs).
- Moscow SML implements arithmetic exceptions, and thus deals
- with the entire Core language.
- requires: Caml Light 0.61
- ports: anything Caml Light supports
- updated: 1994/09/30
-
- language: SISAL 1.2
- package: The Optimizing SISAL Compiler
- version: 12.9+
- parts: compiler, manuals, documentation, examples, debugger,
- user support
- author: Thomas M. DeBoni <deboni@sisal.llnl.gov>
- location: ftp pub/sisal from sisal.llnl.gov
- description: Sisal is a functional language aimed at parallel numerical and
- scientific programming. It provides Fortran-like performance
- (or better), automatic parallelism, and excellent portability.
- It is an easy language to learn and use; Sisal programs tend
- to be easier to read and understand than those in other
- functional or parallel languages. The Optimizing Sisal
- Compiler, OSC, allows efficient use of machine resources
- during serial or parallel execution, and guarantees
- determinate results under any execution environment.
- ports: Unix, Cray-2 Y-MP & C-90 and Convex Sequent and SGI,
- Sun/Sparc, Vax, HP, PC, Mac
- portability: Can run on many Unix machines, shared-memory machines,
- workstations or personal computers.
- reference: http://www.llnl.gov/sisal
- updated: 1994/07/15
-
- language: OPAL
- package: ocs
- version: 2.1e
- parts: compiler(->C), interpreter, translator,
- library, documentation, examples,
- tutorial, run-time.
- author: The OPAL Group at Technical Univ. of Berlin.
- <opal@cs.tu-berlin.de>
- location: ftp /pub/local/uebb/ocs/* from ftp.tu-berlin.de
- Europe: ftp pub/unix/languages/opal/* from ftp.fu-berlin.de
- U.S. : ftp opal/* from ftp.isi.edu
- http://www.cs.tu-berlin.de/~opal/
- description: The language OPAL has been designed as a testbed
- for the development of functional programs. Opal
- molds concepts from Algebraic Specification and
- Functional Programming, which shall favor the
- (formal) development of (large) production-quality
- software that is written in a purely functional
- style.
- The core of OPAL is a strongly typed, higher-order,
- strict applicative language which belongs to the
- tradition of HOPE and ML. The algebraic flavour of
- OPAL shows up in the syntactical appearance and
- the preference of parameterization to polymorphism.
- reference: ftp.tu-berlin.de:pub/local/uebb/papers/DesignImplOpal.ps.gz
- features: In the latest "pseudoknot" benchmark, its performance falls
- in the top group of the functional languages tested. Orders
- of magnitude faster than the interpreted fps.
- bugs: Report bugs to opal-bugs@cs.tu-berlin.de
- restriction: Constructors cannot have more then 24 components.
- requires: gcc 2.x + gnu make 3.64 or better.
- ports: Most unix( SPARCs, DECstations, NeXTs, PC-Linux,
- HP7xx).
- portability: Very portable,one just needs to find out which compiler
- switches are needed.
- status: active, supported.
- discussion: opal-discussion@cs.tu-berlin.de
- help: opal@cs.tu-berlin.de
- support: opal@cs.tu-berlin.de
- opal-bugs@cs.tu-berlin.de
- announcements: opal-announce@cs.tu-berlin.de
- contact: opal@cs.tu-berlin.de
- updated: 1995/08/01
-
-
- C variants
- -------------------------------------------------------------------------------
- category: C variants
- description: These are languages that are closely based on C.
- lref: C-Refine,C++-Refine&comma *-Refine
- iref: (Duel) DUEL
-
- language: C, C++, Objective-C, RTL
- package: GNU CC (gcc)
- version: 2.7.1
- parts: compiler, runtime, examples, documentation
- Library listed separately
- author: Richard Stallman and others
- location: ftp gcc-2.X.X.tar.gz from a GNU archive site
- MSDOS: ftp pub/msdos/djgpp/* from oak.oakland.edu
- 6811: ftp pub/coactive/gcc-6811-beta.tar.gz from netcom.com
- (these are diffs from 2.5.8 distribution)
- description: A very high quality, very portable compiler for C, C++,
- Objective-C. The compiler is designed to support multiple
- front-ends and multiple back-ends by translating first
- into RTL (Register Transfer Language) and from there into
- assembly for the target architecture. Front ends for
- Ada, Pascal, and Fortran are all under development.
- There is a bounds checking port based on gcc 2.7.1.
- Patches for this port are available at:
- ftp://dse.doc.ic.ac.uk/pub/misc/bcc
- conformance: C: superset of K&R C and ANSI C.
- C++: supports most ARM features; exceptions supported
- only on some platforms. Supports "bool". Alpha-level
- RTTI implementation included. Not yet supported: member
- templates, namespaces. Developers are tracking the draft
- ANSI/ISO standard and are committee members.
- Objective-C: Complies with NeXT proposed (ANSI?) standard.
- bugs: gnu.gcc.bug (for C/Objective-C), gnu.g++.bug (for C++)
- restriction: GNU General Public License
- ports: 3b1, a29k, aix385, alpha, altos3068, amix, arm, convex,
- crds, elxsi, fx2800, fx80, genix, hp320, clipper,
- i386-{dos,isc,sco,sysv.3,sysv.4,mach,bsd,linux,windows,OS/2},
- iris,i860, i960, irix4, m68k, m88ksvsv.3, mips-news,
- mot3300, next, ns32k, nws3250-v.4, hp-pa, pc532,
- plexus, pyramid, romp, rs6000, sparc-sunos,
- sparc-solaris2, sparc-sysv.4, spur, sun386, tahoe, tow,
- umpis, vax-vms, vax-bsd, we32k, hitachi-{SH,8300}, 6811
- portability: very high
- status: actively developed
- discussion: gnu.gcc.help (for C/Objective-C), gnu.g++.help (for C++)
- announcements: gnu.gcc.announce (for C/Objective-C),
- gnu.g++.announce (for C++)
- updated: 1995
-
- language: C, C++, Objective-C, RTL
- package: GNU CC (gcc) - unsupported Macintosh port
- version: 1.37
- parts: compiler, runtime, examples, documentation
- Library listed separately
- author: ?
- location: ftp mpw-gcc-1.37.1r14 from ?
- description: This is an unsupported port of the GNU C compiler to the
- Macintosh environment. The GNU project is actively
- supporting the League for Programming Freedom (LPF) boycott
- of Apple due to the "Look and Feel" lawsuit and chooses not
- to support this port. [Note: I have been told this is no
- longer in effect, can someone from LPF update me? - ed]
- bugs: ?
- restriction: GNU General Public License
- ports: Macintosh
- portability: very high
- status: ?
- updated: 1993/11/27
-
- language: C, Fortran, SUIF
- package: Stanford SUIF Compiler
- version: 1.0.1
- parts: compiler(->C, ->MIPS), run-time, documentation, examples
- author: "Stanford Compiler Group" <suif@hawg.stanford.edu>
- location: ftp pub/suif/suif-1.0.1.tar.Z from suif.stanford.edu
- http://suif.Stanford.EDU.
- (Patch to version 1.0 also available)
- description: SUIF is a framework for research in compiler algorithms.
- It contains a kernel, which supports the Stanford
- University Intermediate Format (file I/O, manipulation,
- etc.), and a toolkit consisting of passes and libraries
- for dependence analysis, loop transformations,
- scalar optimizations, code generation, etc. Can generate
- parallel code from major benchmarks.
- conformance: C front end is ANSI-C compatible, FORTRAN front end mostly f77
- reference: Wide range of published papers available from ftp site
- restriction: Free for non-commercial use; redistribution prohibited
- requires: GNU g++ 2.5.8, GNU make
- ports: DECstation, SPARC/SunOS/Solaris, SGI, Linux
- portability: Very system independent - requires UNIX
- status: First public release; not supported, but we'll try to help
- discussion: Mailing list information included in distribution
- Archives available from http://suif.stanford.edu
- updated: 1994/06/15
-
- language: C
- package: GNU C Library (glibc)
- version: 1.09
- parts: library, documentation
- author: ?
- location: ftp glibc-1.09.1.tar.gz from a GNU archive site
- Source for "crypt" must be FTP'ed from non-USA site if you are
- outside the USA: ftp glibc-1.09-crypt.tar.z from ftp.uni-c.dk.
- description: The GNU C library is a complete drop-in replacement for libc.a
- on Unix. It conforms to the ANSI C standard and POSIX.1, has
- most of the functions specified by POSIX.2, and is intended to
- be upward compatible with 4.3 and 4.4 BSD. It also has several
- functions from System V and other systems, plus GNU
- extensions.
- conformance: ANSI and POSIX.1 superset. Large subset of POSIX.2
- bugs: Reports sent to mailing list bug-glibc@prep.ai.mit.edu.
- ports: most os's on alpha, i386, m88k, mips, and sparc
- updated: 1994/11/07
-
- language: C
- package: fdlibm
- version: ?
- parts: library
- author: Dr. K-C Ng
- location: ftp netlib/fdlibm.tar from netlib.att.com
- description: Dr. K-C Ng has developed a new version of libm that is the
- basis for the bundled /usr/lib/libm.so in Solaris 2.3 for SPARC
- and for future Solaris 2 releases for x86 and PowerPC. It
- provides the standard functions necessary to pass the usual
- test suites. This new libm can be configured to handle
- exceptions in accordance with various language standards or in
- the spirit of IEEE 754. The C source code should be portable to
- any IEEE 754 system with minimal difficulty.
- conformance: IEEE 754
- bugs: Send comments and bug reports to:
- fdlibm-comments@sunpro.eng.sun.com.
- updated: 1993/12/18
-
- language: C
- package: c68/c386
- version: 4.2a
- parts: compiler
- author: Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker
- location: ftp://archimedes.nosc.mil/pub/misc/c386-4.2b.tar.Z
- [Temporary location, looking for a permanent home. -ed]
- You can get an older, 68k-only version from
- ftp motorola/m68k/cc68k.arc from bode.ee.ualberta.ca
- description: K&R C plus prototypes and other ANSI features.
- targetted to several 68k and i386 assemblers, incl. gas.
- floating point support by inline code or emulation.
- lots of available warnings. better code generation than ACK.
- ports: 386 and 68k Minix. generic unix actually.
- status: actively worked on by the Walkers.
- discussion: comp.os.minix
- updated: ?
-
- language: C
- package: GNU superoptimizer
- version: 2.5
- parts: exhaustive instruction sequence optimizer
- author: Torbjorn Granlund <tege@gnu.ai.mit.edu> with Tom Wood
- location: ftp superopt-2.5.tar.Z from a GNU archive site
- description: GSO is a function sequence generator that uses an exhaustive
- generate-and-test approach to find the shortest instruction
- sequence for a given function. You have to tell the
- superoptimizer which function and which CPU you want to get
- code for.
- This is useful for compiler writers.
- bugs: Torbjorn Granlund <tege@gnu.ai.mit.edu>
- restriction: GNU General Public License
- ports: Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP)
- updated: 1995
-
- language: C
- package: xdbx
- version: 2.1
- parts: X11 front end for dbx
- author: ?
- location: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
- description: ?
- contact: Po Cheung <cheung@sw.mcc.com>
- updated: 1992/02/22
-
- language: C
- package: ups
- version: 2.1
- parts: interpreter, symbolic debugger, tests, documentation
- author: Mark Russell <mtr@ukc.ac.uk>
- location: ? ftp from contrib/ups*.tar.Z from export.lcs.mit.edu ?
- unofficial: unofficial enhancements by Rod Armstrong <rod@sj.ate.slb.com>,
- available by ftp misc/unix/ups/contrib/rob from sj.ate.slb.com
- description: Ups is a source level C debugger that runs under X11 or
- SunView. Ups includes a C interpreter which allows you to add
- fragments of code simply by editing them into the source window
- bugs: Mark Russell <mtr@ukc.ac.uk>
- ports: Sun, Decstation, VAX(ultrix), HLH Clipper
- discussion: ups-users-request@ukc.ac.uk
- updated: 1991/05/20
-
- language: C
- package: C-Interp
- version: ?
- parts: interpreter
- author: ?
- location: ftp Mac/Misc/C_Interp.sit from oac2.hsc.uth.tmc.edu
- description: An interpreter for a small subset of C, originally part of a
- communications package.
- contact: ? Chuck Shotton <cshotton@oac.hsc.uth.tmc.edu>
- updated: 1993/05/14
-
- language: C
- package: ae (application executive)
- version: 2
- parts: interpreter
- author: Brian Bliss <bliss@convex.com>
- location: ftp://sp2.csrd.uiuc.edu/pub/CSRD_Software/APPL_EXEC/
- description: ae (the "application executive") is a C interpreter library
- which is compiled with an application; hence, the interpreter
- exists in the same process and address space. it includes a
- dbx symbol table scanner to access compiled vars & routines, or
- you can enter them manually by providing a type/name
- declaration and the address. when the interpreter is invoked,
- source code fragments are read from the input stream (or a
- string), parsed, and evaluated immediately. The user can call
- compiled functions in addition to a few built-in intrinsics,
- declare new data types and data objects, etc. Different input
- streams can be evaluated in parallel on alliant machines.
- Version 2 differs substantially in that the code
- fragments are read into an intermediate form before being
- evaluated, and can be stored in this form and then called
- from either user code or the interpreter. Version 2 also
- handles looping constructs (and the full C language),
- unlike version 1.
- ports: SunOS (cc or gcc), Alliant FX, SGI (partial),
- Cray YMP (partial)
- updated: 1993/07/18
-
- language: C (ANSI), lcc intermediate format
- package: lcc
- version: 3.4b
- parts: compiler, test suite, documentation
- authors: Chris Fraser <cwf@research.att.com>
- Dave Hanson <drh@cs.princeton.edu>
- location: ftp://ftp.cs.princeton.edu/pub/lcc/*
- description: + hand coded C parser (faster than yacc)
- + retargetable
- + code "nearly as good as GCC"
- ports: x86, MIPS, SPARC
- status: small-scale production use
- discussion: email "subscribe lcc" to majordomo@cs.princeton.edu
- updated: 1995/02/01
-
- language: C, lcc intermediate format
- package: Chop
- version: 0.6
- parts: code generator
- author: Alan L. Wendt <wendt@CS.ColoState.EDU>
- location: ftp pub/chop/0.6.tar.Z from beethoven.cs.colostate.edu
- description: The current revision, 0.6, is interfaced with Fraser and
- Hanson's lcc front end. The result is a highly fast C compiler
- with good code selection and no global optimization.
- Project Status: Chop compiles and runs a number of small test
- programs on the Vax. I'm currently updating the NS32k and 68K
- retargets for lcc compatibility. After I get them working,
- I'll work on getting the system to compile itself, get struct
- assignments working, improve the code quality and compile
- speed, and run the SPEC benchmarks. That will be rev 1.0.
- reference: "Fast Code Generation Using Automatically-Generated Decision
- Trees", ACM SIGPLAN '90 PLDI
- updated: 1993/04/28
-
- language: C
- package: GCT
- version: 1.4
- parts: test-coverage-preprocessor
- author: Brian Marick <marick@cs.uiuc.edu>
- location: ftp pub/testing/gct.file/ftp.* from cs.uiuc.edu
- description: GCT is test-coverage tool based on GNU C. Coverage tools
- measure how thoroughly a test suite exercises a program.
- restriction: CopyLeft
- ports: sun3, sun4, rs/6000, 68k, 88k, hp-pa, ibm 3090,
- ultrix, convex, sco
- discussion: Gct-Request@cs.uiuc.edu
- support: commercial support available from author, (217) 351-7228
- updated: 1993/02/12
-
- language: C
- package: Maspar MPL
- version: 3.1
- parts: compiler
- author: Christopher Glaeser
- location: ftp pub/mpl-* from maspar.maspar.com
- description: MPL is based on ANSI C and includes SIMD language estensions.
- The new keyword "plural" is a type qualifier which is used
- to declare variables on a parallel array. For example, the
- declaration "plural int i" declares an "i" on each of the
- parallel processors.
- In addition, plural expressions can be used in IF, WHILE,
- SWITCH, and other statements to support plural control flow.
- The MPL compiler is based on the GNU compiler.
- contact: Christopher Glaeser cdg@nullstone.com
- updated: ?
-
- language: C
- package: gc
- version: 3.4
- parts: library
- author: Hans-J. Boehm <boehm@parc.xerox.com>, Alan J. Demers
- location: ftp pub/russell/gc3.4.tar.Z from parcftp.xerox.com
- description: This is a garbage colecting storage allocator that is intended
- to be used as a plug-in replacement for C's malloc. Since the
- collector does not require pointers to be tagged, it does not
- attempt to ensure that all inaccessible storage is reclaimed.
- However, in our experience, it is typically more successful at
- reclaiming unused memory than most C programs using explicit
- deallocation. Unlike manually introduced leaks, the amount of
- unreclaimed memory typically stays bounded.
- ports: Sun-3, Sun-4 , Vax/BSD, Ultrix, i386/Unix, SGI, Alpha/OSF/1,
- Sequent (single threaded), Encore (single threaded),
- RS/600, HP-UX, Sony News, A/UX, Amiag, NeXT.
- updated: 1993/11/05
-
- language: C
- package: dsp56k-gcc
- version: ?
- parts: compiler
- author: ?
- location: ftp pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z from nic.funet.fi
- Australia: ftp pub/micros/56k/g56k.tar.Z from evans.ee.adfa.oz.au
- description: A port of gcc 1.37.1 to the Motorola DSP56000 done by
- Motorola
- contact: ?
- updated: ?
-
- language: C
- package: dsp56165-gcc
- version: ?
- parts: compiler
- author: Andrew Sterian <asterian@eecs.umich.edu>
- location: ftp usenet/alt.sources/? from wuarchive.wustl.edu
- description: A port of gcc 1.40 to the Motorola DSP56156 and DSP56000.
- updated: ?
-
- language: C
- package: Harvest C
- version: 1.3
- parts: compiler, assembler, linker.
- author: ?
- location: ftp mac/development/languages/harves* from archive.umich.edu
- description: The parts of the system are all integrated in a unique
- application, which manages a "project" composed by several C
- source files and resource files (which contain data).
- ports: Macintosh
- contact: Eric W. Sink
- updated: 1992/05/26
-
- language: C, C++
- package: Cyclo - cyclomatic complexity tool
- version: the one and only version
- parts: code analysis tool
- author: Roger D Binns
- location: alt.sources archive, 1993/06/28, <C9C2rH.EE@brunel.ac.uk>
- description: It measures cyclomatic complexity, shows function calls and
- can draw flowgraphs of ANSI C and C++ code.
- requires: lex, C++
- updated: 1993/06/28
-
- language: C
- package: cxref
- version: ?
- parts: code analysis tool
- author: Arnold Robbins <arnold@gatech.?>
- location: use archie
- description: A cross-reference genrator
- updated: ?
-
- language: C
- package: xref
- version: ?
- parts: code analysis tool
- author: Jim Leinweber
- location: use archie
- description: A cross-reference genrator
- updated: 1985 ?
-
- language: C
- package: csize
- version: 1.12
- parts: code analysis tool
- author: Christopher Lott <lott@informatik.uni-kl.de>
- location: comp.sources.reviewed volume 4
- description: A C language code counter
- updated: 1994/10/17
-
- language: C, C++
- package: Xcoral
- version: 2.5
- parts: editor
- author: ?
- location: ftp contrib/editors/xcoral* from ftp.x.org
- Europe: ftp X/contrib-R5/clients/xcoral* from ftp.inria.fr
- description: Xcoral is a multiwindow mouse-based text editor, for X Window
- System, with a built-in browser to navigate through C functions
- and C++ classes hierarchies... Xcoral provides variables width
- fonts, menus, scrollbars, buttons, search, regions,
- kill-buffers and 3D look. Commands are accessible from menus
- or standard key bindings. Xcoral is a direct Xlib client and
- run on color/bw X Display. Also includes HTML and Latex modes.
- contact: Lionel Fournigault <Lionel.Fournigault@aar.alcatel-alsthom.fr>
- updated: 1995/12/21
-
- language: C++
- package: Lily (LIsp LibrarY)
- version: 0.1
- parts: library
- author: Roger Sheldon <sheldon@kong.gsfc.nasa.gov>
- location: ftp packages/development/libraries/lily-0.1.tar.gz
- from sunsite.unc.edu
- description: Lilly is a C++ class library which gives C++ programmers the
- capability to write LISP-style code. Lily's garbage collection
- mechanism is not sufficient for commercial use. The
- documentation is incomplete.
- restriction: GNU Library General Public License
- requires: C++ (g++ or Turbo C++, but not cfront)
- updated: 1993/11/08
-
- language: C++
- package: C++SIM
- version: 1.0
- parts: library
- author: Mark Little <M.C.Little@newcastle.ac.uk>
- location: ftp ? from arjuna.ncl.ac.uk
- description: C++SIM is a class library that provides the same sort of
- features found in the simulation class libraries of SIMULA.
- updated: 1993/06/14
-
- language: C++
- package: ? signatures for GCC 2.5.2. ?
- version: ?
- parts: patches to GNU CC, documentation
- author: Gerald Baumgartner <gb@cs.purdue.edu>
- location: ftp pub/gb/* from ftp.cs.purdue.edu
- description: Signatures are very similar to abstract base classes except
- that they have their own heirarchy and can be applied to
- compiled classes. They provide a means of separating
- subtyping and inheritance.
- requires: GNU CC 2.5.2
- updated: 1993/11/03
-
- language: C++
- package: aard ???
- version: ?
- parts: memory use tracer
- author: ?
- location: ftp pub/aard.tar.Z from wilma.cs.brown.edu
- description: We have a prototype implementation of a tool to do memory
- checking. It works by keeping track of the typestate of each
- byte of memory in the heap and the stack. The typestate can be
- one of Undefined, Uninitialized, Free or Set. The program can
- detect invalid transitions (i.e. attempting to set or use
- undefined or free storage or attempting to access uninitialized
- storage). In addition, the program keeps track of heap
- management through malloc and free and at the end of the run
- will report all memory blocks that were not freed and that are
- not accessible (i.e. memory leaks).
- The tools works using a spliced-in shared library.
- requires: Sparc, C++ 3.0.1, SunOS 4.X
- contact: Steve Reiss <spr@cs.brown.edu>
- updated: ?
-
- language: C++
- package: ET++
- version: 3.0-alpha
- parts: class libraries, documentation
- author: ?
- location: ftp C++/ET++/* from iamsun.unibe.ch
- description: ?
- contact: Erich Gamma <gamma@ifi.unizh.ch>
- updated: 1992/10/26
-
- language: C++
- package: C++ grammar
- version: ?
- parts: parser (yacc)
- author: ?
- location: comp.sources.misc volume ?
- description: [is this a copy of the Roskind grammar or something else? --ed]
- updated: 1991/10/23
-
- language: C++
- package: cppp
- version: 1.14
- parts: parser (yacc)
- author: Tony Davis <ted@cs.brown.edu>
- location: wilma.cs.brown.edu:/pub/cppp.tar.Z
- description: A compiler front-end for C++, with complete semantic
- processing. Outputs abstract syntax graph.
- restriction: Permission needed for incorporation into commercial software.
- requires: Native C++ compiler, lex, yacc, make, sed (or hand editing)
- status: Upgrading the back end.
- updated: 1993/05/26
-
- language: C++
- package: C++ Object Oriented Library
- version: COOL ?, GECOOL 2.1, JCOOL 0.1
- parts: libraries, tests, documentation
- author: ?
- location: GECOOL, JCOOL: ftp pub/COOL/* from cs.utexas.edu
- COOL: ftp pub/COOL.tar.Z from csc.ti.com
- description: A C++ class library developed at Texas Instruments. Cool
- contains a set of containers like Vectors, List, Hash_Table,
- etc. It uses a shallow hierarchy with no common base class.
- The funtionality is close to Common Lisp data structures (like
- libg++). The template syntax is very close to Cfront3.x and
- g++2.x. Can build shared libraries on Suns. JCOOL's main
- difference from COOL and GECOOL is that it uses real C++
- templates instead of a similar syntax that is preprocessed by
- a special 'cpp' distributed with COOL and GECOOL.
- ports: ?
- contact: Van-Duc Nguyen <nguyen@crd.ge.com>
- updated: 1992/08/05
-
- language: C++
- package: GNU C++ Library (libg++)
- version: 2.6
- parts: library
- author: Per Bothner <bothner@cygnus.com> ?
- location: libg++-2.5.1.tar.gz from a GNU archive site
- description: The run-time library for the GNU C++ compiler.
- This package is separately maintained.
- conformance: ? ANSI and POSIX.1 superset
- bugs: bug-lib-g++@prep.ai.mit.edu
- updated: 1994/07/19
-
- language: C++
- package: ??? A C++ Parser toolkit
- version: ?
- parts: library
- author: Mayan Moudgill <moudgill@cs.cornell.EDU>
- location: ftp pub/Parse.shar from ftp.cs.cornell.edu
- description: A collection of C++ classes that make building a
- recursive descent parser/scanner very easy.
- ports: Sun 4 with cfront 3.0,
- portability: uses mmap(); probably low.
- updated: 1993/04/11
-
- language: C++, Extended C++
- package: EC++
- version: ?
- parts: translator(C++), documentation
- author: Glauco Masotti <masotti@lipari.usc.edu>
- location: ? ftp languages/c++/EC++.tar.Z from ftp.uu.net ?
- description: EC++ is a preprocessor that translates Extended C++
- into C++. The extensions include:
- + preconditions, postconditions, and class invariants
- + parameterized classes
- + exception handling
- + garbage collection
- status: ?
- updated: 1989/10/10
-
- language: C++
- package: LEDA
- version: 3.0
- parts: libraries
- author: ?
- location: ftp pub/LEDA/* from ftp.mpi-sb.mpg.de
- description: library of efficient data types and algorithms.
- New with 3.0: both template and non-template versions.
- contact: Stefan N"aher <stefan@mpi-sb.mpg.de>
- updated: 1992/11/30
-
- language: E (a persistent C++ variant)
- package: GNU E
- version: 2.3.3
- parts: compiler
- author: ?
- location: ftp exodus/E/gnu_E* from ftp.cs.wisc.edu
- description: GNU E is a persistent, object oriented programming language
- developed as part of the Exodus project. GNU E extends C++
- with the notion of persistent data, program level data objects
- that can be transparently used across multiple executions of a
- program, or multiple programs, without explicit input and
- output operations.
- GNU E's form of persistence is based on extensions to the C++
- type system to distinguish potentially persistent data objects
- from objects that are always memory resident. An object is
- made persistent either by its declaration (via a new
- "persistent" storage class qualifier) or by its method of
- allocation (via persistent dynamic allocation using a special
- overloading of the new operator). The underlying object
- storage system is the Exodus storage manager, which provides
- concurrency control and recovery in addition to storage for
- persistent data.
- restriction: GNU General Public License; not all runtime sources are
- available (yet)
- requires: release 2.1.1 of the Exodus storage manager
- contact: exodus@cs.wisc.edu
- updated: 1993/01/20
-
- language: C (ANSI)
- package: ? 1984 ANSI C to K&R C preprocessor ?
- version: ?
- parts: translator(K&R C)
- author: ?
- location: from comp.sources.unix archive volume 1
- description: ?
- status: ?
- updated: ?
-
- language: C (ANSI)
- package: unproto ?
- version: ? 4 ? 1.6 ?
- parts: translator(K&R C)
- author: Wietse Venema <wietse@wzv.win.tue.nl>
- location: ftp pub/unix/unproto4.shar.Z from ftp.win.tue.nl
- description: ?
- contact: ?
- updated: ?
-
- language: C (ANSI)
- package: LCLint
- version: 1.4
- parts: code analysis tool
- author: David E Evans <evs@larch.lcs.mit.edu>
- location: ftp pub/Larch/lclint/ from larch.lcs.mit.edu
- description: LCLint is a lint-like tool for ANSI C. It can be used like a
- traditional lint to detect certain classes of C errors
- statically; if formal specifications are also supplied, it can
- do more powerful checking to detect inconsistencies between
- specifications and code.
- references: http://larch-www.lcs.mit.edu:8001/larch/lclint.html
- ports: OSF/1, Ultrix, SunOS, Solaris, Linux, IRIX
- updated: 1994/10/16
-
- language: C (ANSI)
- package: cproto
- version: 4 patchlevel 0
- parts: translator(K&R C)
- author: Chin Huang <chin.huang@canrem.com>
- location: comp.sources.misc volume 29
- description: cproto generates function prototypes from function definitions.
- It can also translate function definition heads between K&R
- style and ANSI C style.
- ports: Unix, VMS, MS-DOS
- updated: 1992/07/18
-
- language: C (ANSI)
- package: cextract
- version: 1.7
- parts: translator(K&R C), header file generator
- author: Adam Bryant <adb@cs.bu.edu>
- location: ftp from any comp.sources.reviewed archive
- description: A C prototype extractor, it is ideal for generating
- header files for large multi-file C programs, and will
- provide an automated method for generating all of the
- prototypes for all of the functions in such a program.
- It may also function as a rudimentary documentation
- extractor, generating a sorted list of all functions
- and their locations
- ports: Unix, VMS
- updated: 1992/11/03
-
- language: C (ANSI)
- package: cgram
- version: ?
- parts: grammar
- author: Mohd Hanafiah Abdullah <napi@cs.indiana.edu>
- location: ftp pub/comp.compilers/cgram-ll1.Z from primost.cs.wisc.edu
- description: An ANSI C grammar in LL(k) (1 <= k <= 2). It's written in
- Scheme, so you need to have a Scheme interpreter to process
- the grammar using a program (f-f-d.s) that extracts the
- FIRST/FOLLOW/DIRECTOR sets.
- requires: Scheme
- ports: ?
- updated: ?
-
- language: C, ANSI C, C++
- package: The Roskind grammars
- version: cpp5 (cf2.0)
- parts: parser(yacc), documenation
- author: Jim Roskind <jar@netscape.com>
- location: ftp ftp/pub/c++grammar/* from ftp.infoseek.com
- Japan: ftp://ftp.sra.co.jp/.a/pub/cmd/c++grammar2.0.tar.gz
- description: The C grammar is CLEAN, it does not use %prec, %assoc, and
- has only one shift-reduce conflict. The C++ grammar has
- a few conflicts.
- Also included is an extension to byacc that produces
- graphical parse trees automatically.
- conformance: the C grammar is true ANSI; the C++ grammar supports
- cfront 2.0 constructs.
- requires: byacc 1.8 (for graphical parse trees)
- status: actively developed
- updated: 1991/07/01
-
- language: C (ANSI/ISO)
- package: Metre
- version: 2.3
- parts: grammar(yacc,lex), generated parser files, metrics examples,
- documentation (man pages).
- author: Paul Long <plong@perf.com>
- location: ftp pub/file/metre.tar.gz from iecc.com
- description: Metre is a freely-distributable ANSI/ISO Standard C parser
- whose behavior is determined by a set of rules. Sets are
- provided for a metrics tool and a call-tree tool. Written
- in Standard C, lex, and yacc, it is source-code portable
- across operating systems, Standard C compilers, and the
- various flavors of lex and yacc.
- conformance: Intended to conform to ANSI and ISO standards.
- updated: 1995/04/04
-
- language: C, C++
- package: xxgdb
- version: 1.06
- parts: X11 front end for gdb
- author: ?
- location: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
- description: ?
- contact: Pierre Willard <pierre@la.tce.com>
- updated: 1992/02/22
-
- language: C, C++
- package: gdb
- version: 4.15.1
- parts: symbolic debugger, documentation
- author: many, but most recently Fred Fish <fnf@cygnus.com>,
- Stu Grossman <grossman@cygnus.com>, and
- John Gilmore <gnu@cygnus.com>, all of Cygnus Support
- location: ftp gdb-*.tar.[zZ] from a GNU archive site
- description: gdb is a full-featured symbolic debugger. It fills the
- same niche as dbx. Programs must be compiled with debugging
- symbols.
- bugs: <bug-gdb@prep.ai.mit.edu>
- restriction: CopyLeft
- ports: most unix variants, vms, vxworks, amiga, msdos
- updated: 1995/11/04
-
- language: C, C++, Objective-C
- package: emx programming environment for OS/2
- version: 0.8g
- parts: gcc, g++, gdb, libg++, .obj linkage, DLL, headers
- author: Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de>
- location: ftp os2/2_x/unix/gnu/emx0.8g from ftp-os2.cdrom.com
- Europe: ftp soft/os2/emx-0.8g from ftp.uni-stuttgart.de
- description: ?
- discussion: subscribe to emx-list using listserv@ludd.luth.se
- updated: 1992/09/21
-
- language: C
- package: Pthreads
- version: 1.17
- parts: library
- author: PART (POSIX / Ada-Runtime Project)
- location: ftp pub/PART/pthreads* from ftp.cs.fsu.edu
- description: As part of the PART project we have been designing and
- implementing a library package of preemptive threads which is
- compliant with POSIX 1003.4a Draft 6. A description of the
- interface for our Pthreads library is now available on ftp.
- restriction: GNU General Public License
- ports: Sun-4/SunOS 4.1.x
- discussion: send "Subject: subscribe-pthreads" to mueller@uzu.cs.fsu.edu
- contact: pthreads-bugs@ada.cs.fsu.edu
- updated: 1993/07/22
-
- language: C, nroff, texinfo, latex, html
- package: c2man
- version: 2.0 patchlevel 34
- parts: documentation generator (C -> nroff -man, -> texinfo, -> latex,
- -> html)
- author: Graham Stoney <greyham@research.canon.oz.au>
- location: ftp from any comp.sources.misc archive, in volume42
- (the version in the comp.sources.reviewed archive is obsolete)
- ftp /pub/Unix/Util/c2man-2.0.*.tar.gz from dnpap.et.tudelft.nl
- Australia: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/*
- from archie.au
- N.America: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/*
- from ftp.wustl.edu
- Europe: ftp /News/comp.sources.misc/volume42/c2man-2.0/*
- from ftp.irisa.fr
- Japan: ftp /pub/NetNews/comp.sources.misc/volume42/c2man-2.0/*
- from ftp.iij.ad.jp
- Patches: ftp pub/netnews/sources.bugs/volume93/sep/c2man* from lth.se
- description: c2man is an automatic documentation tool that extracts comments
- from C source code to generate functional interface
- documentation in the same format as sections 2 & 3 of the Unix
- Programmer's Manual. It requires minimal effort from the
- programmer by looking for comments in the usual places near the
- objects they document, rather than imposing a rigid
- function-comment syntax or requiring that the programmer learn
- and use a typesetting language. Acceptable documentation can
- often be generated from existing code with no modifications.
- conformance: supports both K&R and ISO/ANSI C coding styles
- features: + generates output in nroff -man, TeXinfo, LaTeX or HTML format
- + handles comments as part of the language grammar
- + automagically documents enum parameter & return values
- + handles C (/* */) and C++ (//) style comments
- - doesn't handle C++ grammar (yet)
- requires: yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX.
- ports: Unix, OS/2, MSDOS, VMS.
- portability: very high for unix, via Configure
- status: actively developed; contributions by users are encouraged.
- discussion: via a mailing list: send "subscribe c2man <Your Name>" (in the
- message body) to listserv@research.canon.oz.au
- help: from the author and other users on the mailing list:
- c2man@research.canon.oz.au
- announcements: patches appear first in comp.sources.bugs, and then in
- comp.sources.misc.
- updated: 1995/03/02
-
- language: Small-C
- package: smallc
- version: ?
- parts: compiler
- author: ?
- location: ?, comp.sources.unix volume 5
- description: Small-C is a subset of the C programming language for which a
- number of public-domain compilers have been written. The
- original compiler was written by Ron Cain and appeared in the
- May 1980 issue of Dr.Dobb's Journal. More recently, James
- E.Hendrix has improved and extended the original Small-C
- compiler and published "The Small-C Handbook", ISBN
- 0-8359-7012-4 (1984). Both compilers produce 8080 assembly
- language, which is the most popular implementation of Small-C
- to-date. The 6502 Small-C compiler for the BBC Micro is based
- on "RatC", a version of the original Ron Cain compiler
- described by R.E.Berry and B.A.Meekings in "A Book on C", ISBN
- 0-333-36821-5 (1984). The 6502 compiler is written in Small-C
- and was bootstrapped using Zorland C on an Amstrad PC1512 under
- MSDOS 3.2, then transferred onto a BBC Micro using Kermit. The
- compiler can be used to cross-compile 6502 code from an MSDOS
- host, or as a 'resident' Small-C compiler on a BBC Micro.
- conformance: subset of C
- ports: 68k, 6809, VAX, 8080, BBC Micro, Z80
- updated: 1989/01/05
-
- language: Maisie
- package: Maisie
- version: 2.1
- parts: ?, user manual, examples
- author: Wen-Toh Liao <wentoh@may.CS.UCLA.EDU>
- location: ftp pub/maisie.2.1.1.3.tar.Z from cs.ucla.edu
- description: C-based parallel programming language that uses asynchronous
- typed-message passing and supports light-weight processes.
- The language is C with enhancements to allow processes to be
- defined, created, and destroyed, to send and receive messages,
- and manipulate the system clock.
- ports: PVM/3.1, Cosmic Environment, and SUN Sockets.
- updated: 1993/06/14
-
- language: MeldC (MELD, C)
- package: MeldC
- version: 2.0
- parts: microkernel, compiler, debugger, manual, examples
- author: MELD Project, Programming Systems Laboratory at
- Columbia University
- location: obtain license from <MeldC@cs.columbia.edu>
- description: MeldC 2.0: A Reflective Object-Oriented Coordination
- Programming Language MELDC is a C-based, concurrent,
- object-oriented language built on a reflective architecture.
- The core of the architecture is a micro-kernel (the MELDC
- kernel), which encapsulates a minimum set of entities that
- cannot be modeled as objects. All components outside of the
- kernel are implemented as objects in MELDC itself and are
- modularized in the MELDC libraries. MELDC is reflective in
- three dimensions: structural, computational and architectural.
- The structural reflection indicates that classes and
- meta-classes are objects, which are written in MELDC. The
- computational reflection means that object behaviors can be
- computed and extended at runtime. The architectural reflection
- indicates that new features/properties (e.g., persistency and
- remoteness) can be constructed in MELDC.
- restriction: must sign license, cannot use for commercial purposes
- ports: Sun4/SunOS4.1 Mips/Ultrix4.2
- contact: <MeldC@cs.columbia.edu>
- updated: 1992/12/15
-
- language: uC++
- package: uC++
- version: 4.4
- parts: translator (uC++ to C++), concurrency library, documentation,
- examples
- author: Peter A. Buhr <pabuhr@uwaterloo.ca>
- location: ftp pub/uSystem/u++-4.4.tar.gz from plg.uwaterloo.ca
- description: An extended C++ with light-weight concurrency for Unix-like
- systems. uC++ is pronounced "micro-C++".
- reference: Software--Practice and Experience, 22(2):137-172, February
- 1992.
- features: 1. true multiprocessor support on SUN, DEC, SGI, Sequent
- 2. coroutine, monitor and task extensions to C++
- 3. non-blocking I/O library
- 4. mechanism to group tasks and virtual processors
- 5. non-deterministic time slicing
- bugs: LINUX non-blocking sockets fail
- requires: dmake 4.0+ (ftp pub/dmake/dmake40.tar.gz from plg.uwaterloo.ca)
- GNU C++ 2.6.3+
- ports: Sequent (BSD), SUN Solaris (SPARC) & SunOS (SPARC, M68K), DEC
- OSF 3.2+ (Alpha), SGI IRIX 5.3+ (MIPS), IBM AIX 3.2+ (RS/6000),
- HP HP-UX 9.03+ (PA), LINUX 1.2.13+/1.3.20+ (i386+)
- portability: Needs "setitimer" and "sigcontext" from Unix-like systems.
- updated: 1995/09/14
-
- language: Objective-C
- package: libcoll -- Collection Class Library for GNU Objective-C
- version: 940510
- parts: class library
- author: Andrew McCallum <mccallum@cs.rochester.edu>
- location: ftp.cs.rochester.edu in pub/objc/libcoll-940510.tar.gz
- description: It's a library of Objective-C objects with similar
- functionality to Smalltalk's Collection objects. It includes:
- Set, Bag, Array, LinkedList, LinkList, CircularArray, Queue,
- Stack, Heap, SortedArray, MappedCollector, GapArray and
- DelegateList.
- updated: 1994/05/10
-
- language: Glenda
- package: Glenda parallel programming environment
- version: 0.91
- parts: preprocessor,tuple server, and tuple functions
- author: Ray Seyfarth <seyfarth@whale.st.usm.edu>
- location: ftp pub/glenda.tar.Z from seabass.st.usm.edu
- description: Glenda is a programming environment for parallel programming
- implementing a variation of the Linda programming model
- defined by Carriero and Gelernter. It consists of a C
- preprocessor to allow reasonable syntax for the added
- operations, a tuple server process and a set of functions to
- connect an application to the tuple server.
- ports: RS6000, SUN4, LINUX
- updated: 1993/06/01
-
- compiled, imperative languages
- -------------------------------------------------------------------------------
- category: compiled, imperative languages
- description: This is the set of traditional infix languages other than C
- and Pascal which each have their own section.
- cref: C variants
- cref: Wirth family languages
- lref: Simula
- lref: Fortran
-
- language: Ada
- package: Ada/Ed
- version: 1.11.0a+
- parts: translator(?), interpreter, ?
- author: ?
- location: ftp pub/Ada/Ada-Ed from cnam.cnam.fr
- description: Ada/Ed is a translator-interpreter for Ada. It is
- intended as a teaching tool, and does not have the
- capacity, performance, or robustness of commercial
- Ada compilers. Ada/Ed was developed at New York
- University, as part of a long-range project in
- language definition and software prototyping.
- conformance: Ada 83. Last validated with version 1.7 of the ACVC tests.
- being an interpreter, it does not implement most
- representation clauses, and thus does not support systems
- programming close to the machine level.
- ports: Unix, MSDOS, Amiga, Atari
- contact: Michael Feldman <mfeldman@seas.gwu.edu>
- updated: 1992/05/08
-
- language: Ada
- package: GW-Ada
- version: ?
- parts: translator, interpreter, editor, runtime environment
- author: ?
- location: ftp languages/ada/compiler/adaed/gwu/9309/dos
- or languages/ada/compilers/adaed/gwu/mac from
- wuarchive.wustl.edu
- description: Ada/Ed is a translator-interpreter for Ada. It is
- intended as a teaching tool, and does not have the
- capacity, performance, or robustness of commercial
- Ada compilers. Ada/Ed was developed at New York
- University, as part of a long-range project in
- language definition and software prototyping.
- conformance: "Ada/Ed handles nearly all of Ada 83"
- restriction: For educational purposes only.
- ports: MSDOS and Mac
- contact: Michael Feldman <mfeldman@seas.gwu.edu>
- updated: 1993/09/01
-
- language: Ada
- package: Ada grammar
- version: ?
- parts: scanner(lex), parser(yacc)
- author: ?
- location: ftp from primost.cs.wisc.edu or mail to
- compilers-server@iecc.cambridge.ma.us
- description: ?
- contact: masticol@dumas.rutgers.edu
- updated: 1991/10/12
-
- language: Ada
- package: Compiler for Toy/Ada in SML/NJ
- version: ?
- parts: translator(?)
- author: Amit Bhatiani <bhatiaa@polly.cs.rose-hulman.edu>
- location: ftp pub/compiler*.tar.Z from master.cs.rose-hulman.edu
- description: ?
- conformance: subset
- updated: 1992/04/08
-
- language: Ada
- package: NASA PrettyPrinter
- version: ?
- parts: Ada LR parser, ?
- author: ? Michael Feldman <mfeldman@seas.gwu.edu> in comp.compilers
- provided the initial reference to this package, he also has a
- yacc grammar for ada.
- location: ftp from Ada Software Repository on wsmr-simtel20.army.mil
- description: pretty-print program that contains an ada parser
- requires: Ada
- updated: 1991/02/01
-
- language: Ada
- package: yacc grammar for Ada
- version: ?
- parts: parser(yacc)
- author: Herman Fischer
- location: ftp PD2:<ADA.EXTERNAL-TOOLS>GRAM2.SRC
- from wsmr-simtel20.army.mil
- description: ?
- contact: ?
- updated: 1991/02/01
-
- language: Ada
- package: Paradise
- version: 2.0
- parts: library
- author: ?
- location: ftp pub/Ada/Paradise from cnam.cnam.fr
- description: Paradise is a subsystem (a set of packages) developped
- to implement inter-processes, inter-tasks and
- inter-machines communication for Ada programs in
- the Unix world. This subsystem gives the user full
- access to files, pipes, sockets (both Unix and
- Internet), and pseudo-devices.
- ports: Sun, Dec, Sony Mips, Verdex compiler, DEC compiler,
- Alsys/Systeam compiler
- contact: paradise-info@cnam.cnam.fr
- updated: 1992/09/30
-
- language: Ada
- package: Adamakegen
- version: 2.6.3
- parts: makefile generator
- author: Owen O'Malley <omalley@porte-de-st-ouen.ics.uci.edu>
- location: ftp ftp/pub/arcadia/adamakegen* from spare.ics.uci.edu
- description: A program that generates makefiles for Ada programs
- requires: Icon
- ports: Verdix, SunAda
- updated: 1993/03/02
-
- language: Ada 95
- package: GNAT
- version: 3.01
- parts: Full compiler, standard environment, build tools,
- cross-reference.
- author: The GNAT Project at New York University.
- Now maintained by Ada Core Technologies (report@gnat.com)
- See also http://www.gnat.com/
- location: ftp pub/gnat/* from cs.nyu.edu
- debugger at:
- ftp://helen.cs.berkeley.edu/pub/gdp/
- other mirror sites, see home page.
- description: full compiler for Ada95, uses GCC back-end technology. Current
- targets include SunOS, Sun/Solaris, OS/2, SGI/IRIX, Windows NT,
- Windows95, Linux, NetBSD, Alpha/Dec-Unix, DOS, others.
- conformance: Fully validated on SGI/IRIX under version 2.0 of ACVC
- validation suite. Other validations to follow 1Q 1996.
- requires: gcc 2.7.1 or higher
- status: Complete, in active use.
- updated: 1995/12/19
-
- language: Ada 9X
- package: grammar9x.y and lexer9x.l
- version: 5.0 (June 1994)
- parts: Yacc grammar, Lex grammar with simple driver in C
- author: S. Tucker Taft <stt@inmet.com>
- location: ftp public/ada9x/rm9x/grammar9x.y from host ajpo.sei.cmu.edu
- ftp public/ada9x/rm9x/lexer9x.l from host ajpo.sei.cmu.edu
- description: YACC-based parser for Ada 9X, with simple Lexer and
- simple driver written in C.
- conformance: Grammar conforms to Ada 9X version 5.0 (DIS 8652-9X, June 1994);
- Lexer does not support wide characters.
- reference: RM9X;5.0
- (ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc)
- bugs: Grammar known to be somewhat liberal (to avoid
- ambiguity); Lexer does not support wide characters;
- Report bugs to stt@inmet.com or comp.lang.ada
- ports: SunOS 4.X, others presumed
- portability: No known system dependencies
- status: active, though presumed "done"
- discussion: comp.lang.ada
- contact: stt@inmet.com
- updated: 1994/06
-
- language: Ada 9X
- package: AVLAda9X
- version: 191 prototype (Fall 1994)
- parts: compiler, editor, online help, example programs, doc files
- author: Dr. Arthur Vargas Lopes <IN%"34U3IQN@CMUVM.BITNET">
- location: ftp languages/ada/compiler/avlada9x/ver_191/avlada9x.zip
- N.America: from host wuarchive.wstlu.edu or ftp.cdrom.com/pub
- Europe: ftp.cnam.fr/pub/Ada/PAL or ftp.cdrom.com/pub
- Also available via NFS mounts on WUARCHIVE
- Gopher servers wuarchive.wustl.edu and gopher.wustl.edu
- email server ftpmail@decwrl.dec.com, CDROM
- description: Ada 9X student starter compiler/interpreter.
- AVLAda9X is a prototype Ada 9X student compiler/interpreter.
- Its goal is to provide a small Ada 9x compiler/translator
- that is easy to install and has good performance for
- compilation and interpretation.
- conformance: Grammar conforms to Ada 9X version 5.0
- (DIS 8652-9X, June 1994);
- reference: RM9X;5.0
- (ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc)
- features: The version being released allows separate compilation of
- package specs and bodies. The tasking model is working with
- simple tasking constructs including the use of protected
- units and tasks with discriminants as shown within the
- enclosed example programs.
- bugs: Some problems with generics.
- Future work will focus on OOP and generics.
- It is expected that the completed work will allow the use of
- most of the Ada 9X constructs.
- restriction: Approved for Public Release; Distribution Unlimited
- This software can be freely distributed, provided:
- 1) there is no distribution/usage fee charged,
- 2) all the files which accommodate this software are
- included, unmodified, and with their modification dates
- preserved
- This software cannot be
- 1) distributed as a part of any other product without the
- written permission from the author, or
- 2) used in a commercial environment without the written
- permission from the author.
- requires: DOS
- ports: DOS
- portability: DOS, No other known system dependencies
- status: active, still undergoing development
- discussion: comp.lang.ada
- help: IN%"34U3IQN@CMUVM.BITNET"
- announcements: comp.lang.ada, listserv@wunet.wustl.edu
- contact: IN%"34U3IQN@CMUVM.BITNET"
- updated: Fall 1994
-
- language: BLISS-11
- package: BLISS-11
- version: ?? 1
- parts: compiler, minimal run-time support
- author: Wulf, et. al.
- location: iecc.com:/pub/file/bliss.tar.Z
- description: This is the BLISS compiler as described in the reference
- cited below. It is written entirely in BLISS-10 and is the
- version submitted to the DEC user society (DECUS) back in
- 1972.
- conformance: The defining implementation.
- reference: 'The Design of an Optimizing Compiler' by Wulf, et. al.
- portability: *EXTREMELY* dependent upon the PDP-10 and its 36-bit
- architecture.
- contact: harding@ug.eds.com
- updated: ??
-
- language: FOOGOL (a subset of Algol-60)
- package: cfoogol
- version: 5.0
- parts: compiler(->C)
- author: Per Lindberg, John Cowan <cowan@locke.ccil.org>
- location: ftp locke.ccil.org:pub/retro/cfoogol.shar.gz
- (in the Museum of Retrocomputing). An earlier version
- was posted in comp.sources.misc in May 1994.
- description: This is a toy compiler for a subset of Algol-60, based on
- the VALGOL-1 compiler by G. A. Edgar published in the May
- 1985 Dr. Dobb's Journal. It is intended solely to demonstrate
- recursive-descent parsing and other elementary compiler-
- construction techniques.
- conformance: subset of Algol-60
- portability: portable pre-ANSI C
- ports: VAX
- updated: 1994/05/08
-
- language: Algol
- lref: Simula
-
- language: BCPL
- package: ?
- version: ?
- parts: ?
- author: ?
- location: ftp systems/amiga/programming/languages/BCPL/BCPL4Amiga.lzh
- from wuarchive.wustl.edu.
- description: The original INTCODE interpreter for BCPL.
- ports: Amiga, Unix, MSDOS
- contact: ?
- updated: ?
-
- language: BCPL
- package: ?
- version: ?
- parts: ?
- author: ?
- location: ftp ftp.syd.dit.csiro.au in pub/ken/bcpl.tar.gz.
- description: A BCPL* (Basic Combined Programming Language) compiler
- bootstrap kit with an INTCODE interpreter in C.
- contact: Ken Yap <ken@syd.dit.CSIRO.AU>
- updated: ?
-
- language: E
- package: Amiga E
- version: 2.1b
- parts: compiler, assembler, linker, utilities
- author: Wouter van Oortmerssen <Wouter@mars.let.uva.nl>
- location: ftp amiga/dev/lang/AmigaE21b.lha from amiga.physik.unizh.ch
- description: An Amiga specific E compiler. E is a powerful and flexible
- procedural programming language and Amiga E a very fast
- compiler for it, with features such as compilation speed of
- 20000 lines/minute on a 7 Mhz amiga, inline assembler and
- linker integrated into compiler, large set of integrated
- functions, module concept with 2.04 includes as modules,
- flexible type-system, quoted expressions, immediate and typed
- lists, low level polymorphism, exception handling and much,
- much more. Written in Assembly and E.
- ports: Amiga
- portability: not portable at all
- status: actively developed
- discussion: comp.sys.amiga.programmer (sometimes)
- updated: 1993/03/01
-
- language: Eiffel
- package: ?
- version: ?
- parts: source checker
- author: Olaf Langmack <langmack@inf.fu-berlin.de> and Burghardt Groeber
- location: ftp pub/heron/ep.tar.Z from ftp.fu-berlin.de
- description: A compiler front-end for Eiffel-3 is available. It has been
- generated automatically with the Karlsruhe toolbox for
- compiler construction according to the most recent public
- language definition. The parser derives an easy-to-use
- abstract syntax tree, supports elementary error recovery
- and provides a precise source code indication of errors. It
- performs a strict syntax check and analyses 4000 lines of
- source code per second on a Sun-SPARC workstation.
- updated: 1992/12/14
-
- language: Sather
- package: Sather 1.0
- version: 1.0.6
- parts: compiler(->C), library, examples, documentation
- author: International Computer Science Institute in Berkeley, CA
- location: ftp://ftp.icsi.berkeley.edu/pub/sather/Sather-1.0.6.tar.gz
- description: Sather is an object oriented language which aims to be simple,
- efficient, safe, and non-proprietary. One way of placing it in
- the "space of languages" is to say that it aims to be as
- efficient as C, C++, or Fortran, as elegant and safe as Eiffel
- or CLU, and support higher-order functions and iteration
- abstraction as well as Common Lisp, Scheme, or Smalltalk.
- Sather has parameterized classes, object-oriented dispatch,
- statically-checked strong (contravariant) typing, separate
- implementation and type inheritance, multiple inheritance,
- garbage collection, iteration abstraction, higher-order
- routines and iters, exception handling, assertions,
- preconditions, postconditions, and class invariants. Sather
- programs can be compiled into portable C code and can
- efficiently link with C object files. Sather has a very
- unrestrictive license which allows its use in proprietary
- projects but encourages contribution to the public library.
- conformance: reference implementation
- reference: http://www.icsi.berkeley.edu/Sather
- bugs: Send email to sather-bugs@icsi.berkeley.edu
- requires: ANSI C compiler such as gcc.
- ports: SunOS 4.1.3, Ultrix 4.3, NetBSD 1.0_BETA, Linux 1.0.8s,
- IRIX 4.0.5H and 5.2, NEWSOS 4.1R MIPS RISC os 4.53C, SunOS 5.3,
- DEC OSF/1 V2.0, FreeBSD 1.1.5.1, OS/2
- portability: high.
- status: actively developed
- discussion: comp.lang.sather
- help: sather-bugs@icsi.berkeley.edu
- announcements: comp.lang.sather, also a mailing list; send mail to
- sather-request@icsi.berkeley.edu
- updated: 1994/10/31
-
- language: Simula 67
- package: cim
- version: 1.62
- parts: compiler(->C)
- author: Sverre Hvammen Johansen <sj@ifi.uio.no>
- Stein Krogdahl <steink@ifi.uio.no>
- Terje Mjoes.
- location: ftp pub/Linux/devel/simula/cim-1.??.tar.gz
- from sunsite.unc.edu
- Europe: ftp pub/cim/cim-1.??.tar.gz from ftp.ifi.uio.no
- ftp pub/lang/simula/compilers/cim/cim-1.??.tar.gz
- from ftp.fenk.wau.nl
- description: A compiler that translates Simula to C, for further
- compilation.
- conformance: Does not include unspecified virtual procedures.
- reference: "Viderefoering og testing av et portabelt Simula-system."
- Hovedoppgave til cand.scient.-graden av Terje Mjoes.
- Institutt for informatikk, Universitetet i Oslo, April
- 1989.
- "Et portabelt Simula-system bygget paa C." Hovedoppgave til
- cand.scient-graden av Sverre Johansen. Institutt for
- informatikk, Universitetet i Oslo, Mai 1987.
- bugs: Constant must be declared before reference/use.
- restriction: See bugs and conformance.
- requires: A C compiler.
- ports: Numerous.
- portability: Any UNIX system. (Uses GNU AutoConf.)
- status: Maintained by Sverre Johansen.
- help: E-mail: cim@ifi.uio.no
- contact: E-mail: cim@ifi.uio.no
- updated: 1995/03/20.
-
- language: XPL (PL/I dialect)
- package: XPL optimizing Compiler
- version: 1
- parts: compiler, documentation
- author: Robin Vowels <robin_vowels@rmit.edu.au>
- location: mail to author
- description: The compiler is a standard implementation of XPL and is based
- on McKeeman, Horning, and Wortman's improved XCOM (which
- employs hashed symbol table generation). It includes the extra
- built-in function COREHALFWORD.
- The following areas have been optimized: procedures calls when
- the argument and corresponding parameter are of the same type,
- and when the argument is a constant; constant subscripts; use
- of CORELHALFWORD and COREWORD; string constants of length one;
- iterative DO statements by transferring code to the end of the
- loop.
- String constants of length one do not require a descriptor,
- hence more descriptors are available for string variables.
- Comparison operations are treated as commutative, and an
- improved Commute algorithm is used. Halfword instructions are
- generated for BIT(16) variables.
- These areas have been improved or re-written: calls on OUTPUT,
- catenation, integer-to-string conversion, multiply, divide, and
- MOD. An emitter for SS-type instructions has been added.
- The compiler achieves an 11% reduction in object code
- compiling itself, an 11% increase in compilation rate, a 55%
- increase in compilation speed when the $E toggle is set.
- Special treatment for catenating a string to an integer
- substantially decreases consumption of the free string area,
- and decreases string moves. The latter improvement is most
- noticeable on small core machines.
- Core requirements: less than the improved XCOM on which it is
- based (approx. 98000 bytes). Symbol table size is 468.
- ports: IBM System 370
- portability: The compiler is written in XPL. The code generators are
- machine-specific.
- updated: 1993/08/07
-
- language: PL/M grammar and parser
- package: plm-parse
- version: 1.1
- parts: bison (GNU yacc) grammar description, flex (GNU lex)
- lexer description, and a scoped symbol table manager
- author: Kirk Hays <hays@ichips.intel.com>
- Gary Funck <gary@intrepid.com>
- location: ftp pub/file/plm.shar.gz from iecc.com to obtain
- a shar archive in compressed GNU zip format. To access
- the mail server, mail "send plm.shar"
- to compilers-server@iecc.com.
- description: this is a skeleton parser for PL/M. The grammar description
- and lexer description files were written for bison and flex.
- The grammar description closely follows the EBNF documented
- in the _PL/M Programmer's Guide_, Intel doc. 452161-003,
- Appendix C. A symbol table manager is supplied,
- though there is no semantic checking.
- conformance: the grammar describes PL/M 386 and where possible, will
- accept various other dialects
- reference: _PL/M Programmer's Guide_, Intel doc. 452161-003
- features: has support for PL/M's "literally" macro definitions
- bugs: doesn't support $-directives (includes)
- restriction: freely available, use at you own risk
- requires: flex, bison, an ANSI compliant C compiler (gcc), and the
- avl-subs balanced binary tree library routines
- (comp.sources.unix Volume 27, Issue 34 ,'avl-subs')
- ports: SGI IRTIX 5.2, and a 486DX2 PC clone running Linux
- help: contact the authors
- updated: 04/04/1994
-
- object oriented languages
- -------------------------------------------------------------------------------
- category: object oriented languages
- description: In general, object oriented languages were categorized
- elsewhere. Only those that were not anything but object-
- oriented are here. (HTML version has 'em all here)
- lref: ABCL ???
- lref: ABCL/1
- lref: ALLOY
- lref: C++
- lref: CLU
- lref: Common Lisp
- lref: Dylan
- lref: MeldC
- lref: Objective-C
- lref: Oberon2
- lref: Perl
- lref: Proxy
- lref: Python
- lref: Sather
- lref: Simula
- lref: Simula 67
- iref: (Tcl) BOS
- iref: (Scheme) STk
- iref: (Scheme) SOS
- iref: (E) GNU E
-
- language: CooL (Combined object-oriented Language)
- package: CooL-SPE
- version: 2.1pre45
- parts: compiler(->C), emacs mode, X libraries, container libraries,
- database access libraries, dialog editor, source debugger,
- object test harness
- author: ITHACA project
- location: ftp pub/unix/languages/cool/cool-*.tar.Z from ftp.fu-berlin.de
- description: The CooL-SPE is a programming environment specially designed to
- support the professional development of large-scale
- object-oriented application systems.
- CooL offers all the basic features of the object-oriented
- paradigm, such as (single) inheritance, dynamic binding and
- polymorphism. Above that, CooL offers generic object types and
- abstract object types and last but not least supports modules
- in the tradition of Modula, thus allowing to really build large
- systems. CooL is fully type-compliant with the C language type
- system and allows software written in C or in languages with a
- C interface to be integrated into CooL applications without any
- effort.
- CooL-SPE supports the development of application systems with
- graphical user interfaces based on X/Motif. These interfaces
- may be constructed using UIL or interactivly using a dialog
- editor. A dialog object class library, DIO, is available to
- facilitate integration of the application with the runtime
- system of X/Motif. This interface abstracts from the toolkit's
- primitives.
- The CooL language is extended by the CooL library system
- CoLibri. CoLibri offers a BCD type and a number of functions
- for the CooL simple types (e.g. STRING). As foundation object
- types, provides basic file I/O, time representation (including
- date, time, duration, interval etc.), and the basic container
- object types (e.g. set, list, sortedList, map and dictionary)
- as generic types.
- The SQL Object Interface (SOI) is provided to allow
- object-oriented applications to be integrated with a relational
- database system. This interface offers access to SQL tables via
- a generated object type interface.
- requires: INFORMIX
- ports: Linux, Solaris, Sinux 5.41
- portability: nothing prevents using a different database backend
- status: new
- contact: CooL@sietec.de
- updated: 1994/10/25
-
- language: O'small
- package: O'small
- version: Initial release
- parts: compiler?, parser/scanner specification
- author: ? Andreas Hense <hense@sol.cs.uni-sb.de>
- location: FTP /pub/osmall/machine/* from cs.uni-sb.de (134.96.7.254)
- description: A concise, formally defined object-oriented language suited
- for teaching object oriented programming.
- reference: (Numerous references listed in software documentation)
- Christoph Boeschen. Christmas - An abstract machine for
- O'small. Master's thesis, Universit"at des Saarlandes,
- Fachbereich 14, June 1993.
- requires: sml-yacc, sml-lex, sml-noshare (details in HowToGetML).
- ports: Sun 4, SPARC (binaries provided).
- portability: Probably portable to other Unix's.
- updated: 1993/06/25
-
- language: O'small
- package: ?
- version: ?
- parts: interpreter
- author: ?
- location: ?
- description: ?
- requires: Miranda
- ports: ?
- portability: ?
- updated: ?
-
- language: Self
- package: Self
- version: 3.0
- parts: compiler, debugger, browser
- author: The Self Group at Sun Microsystems & Stanford University
- location: ftp from self.stanford.edu or http://self.stanford.edu
- description: The Self Group at Sun Microsystems Laboratories, Inc., and
- Stanford University is pleased to announce Release 2.0 of the
- experimental object-oriented exploratory programming language
- Self. Release 2.0 introduces full source-level debugging of
- optimized code, adaptive optimization to shorten compile
- pauses, lightweight threads within Self, support for
- dynamically linking foreign functions, changing programs within
- Self, and the ability to run the experimental Self graphical
- browser under OpenWindows.
- Designed for expressive power and malleability, Self combines a
- pure, prototype-based object model with uniform access to state
- and behavior. Unlike other languages, Self allows objects to
- inherit state and to change their patterns of inheritance
- dynamically. Self's customizing compiler can generate very
- efficient code compared to other dynamically-typed
- object-oriented languages.
- ports: Sun-4 (SPARC) only [Sun-3 discontinued]
- portability: compiler back end and runtime system system-dependent
- (source available)
- discussion: mailing list -- self-interest@self.stanford.edu,
- send mail to self-request to be added.
- contact: self-request@self.stanford.edu
- updated: 1992/08/13
-
- language: Smalltalk
- package: Little Smalltalk
- version: 4.0
- parts: ?
- author: Tim Budd <budd@cs.orst.edu> ?
- location: ftp://ftp.cs.orst.edu/pub/budd/little/
- http://ftp.cs.orst.edu/pub/budd/little/ReadMe.html
- description: ?
- ports: unix, pc, atari, vms
- status: ?
- updated: ?
-
- language: Smalltalk
- package: GNU Smalltalk
- version: 1.1.1
- parts: ?
- author: Steven Byrne <sbb@eng.sun.com>
- location: ftp smalltalk-1.1.1.tar.Z from a GNU archive site
- description: ?
- bugs: gnu.smalltalk.bug
- discussion: ?
- contact: ?
- updated: 1991/09/15
-
- language: Smalltalk
- package: msgGUI
- version: 1.0
- parts: library
- author: Mark Bush <bush@ecs.ox.ac.uk>
- location: ftp pub/Packages/mst/mstGUI-1.0.tar.Z from ftp.comlab.ox.ac.uk
- description: GUI for GNU Smalltalk. This this package contains the basics
- for creating window applications in the manner available in
- other graphical based Smalltalk implementations.
- updated: 1992/12/14
-
- language: Smalltalk
- package: Mei
- version: 0.50
- parts: interpreters(Lisp,Prolog), examples, libraries, tools, editor,
- browser
- author: Atsushi Aoki <aoki@sra.co.jp> and others
- location: ftp pub/goodies/misc/Mei.tar.Z from mushroom.cs.man.ac.uk
- N.America: ftp pub/MANCHESTER/misc/Mei from st.cs.uiuc.edu
- Japan: ftp pub/lang/smalltalk/mei/Mei0.50.tar.Z from srawgw.sra.co.jp
- description: Mei is a set of class libraries for Objectworks Smalltalk
- Release 4.1. it includes:
- 1. Grapher Library (useful for drawing diagrams);
- 2. Meta Grapher Library (grapher to develop grapher);
- 3. Drawing tools and painting tools (structured diagram
- editors and drawing editors);
- 4. GUI editor (graphical user interface builder);
- 5. Lisp interpreter;
- 6. Prolog interpreter;
- 7. Pluggable gauges;
- 8. Extended browser; (package, history, recover, etc.)
- restriction: GNU General Public License
- requires: Objectworks Smalltalk Release 4.1
- contact: Watanabe Katsuhiro <katsu@sran14.sra.co.jp>
- updated: 1993/01/20
-
- language: Smalltalk
- iref: (Smalltalk) Tim Budd's C++ implementation of Kamin's interpreters
-
- language: Trellis
- package: TNT
- version: 0.2 beta
- parts: compiler, library, run-time system
- author: ?
- location: ftp pub/tnt/tnt-0.1.tar.gz from tk.telematik.informatik.uni-karlsruhe.de
- desciption: Trellis is an object-oriented language developed within Digital
- Equipment Corp. The language features compile-time type
- checking, multiple inheritance, parametrized types, exception
- handling and iterators.
- Currently the run-time system does not support garbage collection
- or threads.
- requires: building from source: Cocktail V9208, GNU make V3.68, patch, makedepend
- restriction: may not be used for non-academic, non-research, non-internal
- business purposes
- ports: OSF/1, HP-UX, Linux, Ultrix, SunOS
- contact: bruno@tk.uni-linz.ac.at
- updated: 1994/10/27
-
-
- lisp family
- -------------------------------------------------------------------------------
- category: lisp family
- description: [The programming languages for those who like parenthesis --ed]
-
- language: Dylan
- package: Thomas
- version: 1.1
- parts: translator(Scheme)
- author: Matt Birkholz <Birkholz@crl.dec.com>, Jim Miller
- <JMiller@crl.dec.com>, Ron Weiss <RWeiss@crl.dec.com>
- location: ftp pub/DEC/Thomas from gatekeeper.pa.dec.com
- ftp pub/dylan/Thomas from cambridge.apple.com
- description: Thomas, a compiler written at Digital Equipment
- Corporation's Cambridge Research Laboratory compiles
- a language compatible with the language described
- in the book "Dylan(TM) an object-oriented dynamic
- language" by Apple Computer Eastern Research and
- Technology, April 1992. It does not perform well.
- Thomas is NOT Dylan(TM).
- requires: Scheme
- ports: MIT's CScheme, DEC's Scheme->C, Marc Feeley's Gambit, Mac, PC,
- Vax, MIPS, Alpha, 680x0
- updated: 1994/04/18
-
- language: Dylan
- package: Marlais
- version: 0.5.11
- parts: interpreter
- author: Brent Benson <brent@ssd.csd.harris.com>
- location: ftp://ftp.cis.ufl.edu:/pub/src/Marlais
- http://www.cis.ufl.edu/~jnw/Marlais/
- description: Marlais is a simple-minded interpreter for a programming
- language strongly resembling Dylan [1]. It is not intended as
- a final release, but rather to fill a perceived void where
- Dylan implementations are concerned. This is a "hackers
- release" and is intended as a vehicle for education,
- experimentation and also to encourage people to port it to
- different architectures, add features, and fix bugs. Marlais
- is alpha software and should not be used by people desiring
- reliability!!!
- ports: Sun-3, Sun-4, VAX/BSD, OS/2, Linux, Sequent Symmetry,
- Encore, HP-UX, Ultrix, SGI, Sony News, A/UX
- updated: 1994/07/13
-
- language: Dylan
- package: Mindy
- version: 1.3
- parts: byte-code compiler and interpreter, documentation, libraries
- author: Bill Chiles <chiles@CS.CMU.EDU>
- location: http://legend.gwydion.cs.cmu.edu:8001/gwydion/
- ftp://legend.gwydion.cs.cmu.edu/afs/cs.cmu.edu/project/gwydion/release/mindy-1.3.tar.gz
- description: A partial implementation of Dylan developed by the Gwydion
- Project at CMU for internal purposed pending the further
- development of a full implementation of Dylan. It is being
- released in the public domain as a vehicle for introducing the
- language to new users.
- requires: Gcc, Gmake, Flex, Bison
- ports: MACH on DECstation, HP-UX on HP 700, OSF1 on Alpha,
- Irix on SGI
- updated: 1995/05/06
-
- language: EuLisp
- package: Feel (Free and Eventually Eulisp)
- version: 0.75
- parts: interpreter, documentation
- author: Pete Broadbery <pab@maths.bath.ac.uk>
- location: ftp pub/eulisp from ftp.bath.ac.uk
- description: + integrated object system
- + a module system
- + parallelism
- + interfaces to PVM library, tcp/ip sockets, futures,
- Linda, and CSP.
- ports: most unix
- portability: high, but can use shared memory and threads if available
- updated: 1992/09/14
-
- language: Common Lisp
- package: CMU Common Lisp
- version: 17c
- parts: incremental compiler, profiler, runtime, documentation,
- editor, debugger
- author: ?
- location: ftp pub/* from lisp-sun1.slisp.cs.cmu.edu.
- description: CMU Common Lisp is public domain "industrial strength" Common
- Lisp programming environment. Many of the X3j13 changes have
- been incorporated into CMU CL. Wherever possible, this has
- been done so as to transparently allow use of either CLtL1 or
- proposed ANSI CL. Probably the new features most interesting
- to users are SETF functions, LOOP and the
- WITH-COMPILATION-UNIT macro.
- + The new CMU CL compiler (Python) is more sophisticated
- thatn other Common Lisp compilers. It produces better code
- and is easier to use.
- + The programming environment based on the Hemlock editor
- is better integrated than gnu-emacs based environments.
- conformance: mostly X3J13 compatible.
- ports: Sparc/Mach Sparc/SunOS Mips/Mach IBMRT/Mach
- contact: slisp@cs.cmu.edu
- updated: 1993/11/18
-
- language: Common Lisp
- package: PCL (Portable Common Loops)
- version: 8/28/92 PCL
- parts: library
- author: ? Richard Harris <rharris@ptolemy2.rdrc.rpi.edu> ?
- location: ftp pcl/* from parcftp.xerox.com
- description: A portable CLOS implementation. CLOS is the object oriented
- programming standard for Common Lisp. Based on Symbolics
- FLAVORS and Xerox LOOPS, among others. Loops stands for
- Lisp Object Oriented Programming System.
- ports: Lucid CL 4.0.1, CMUCL 16e, ?
- status: ?
- updated: 1992/09/02
-
- language: Common Lisp
- package: WCL
- version: 2.14
- parts: ?, shared library runtime, source debugger
- author: Wade Hennessey <wade@leland.Stanford.EDU>
- location: ftp pub/wcl/* from sunrise.stanford.edu,
- miscellany/wcl from gummo.stanford.edu
- description: A common lisp implementation as a shared library. WCL
- Is not a 100% complete Common Lisp, but it does have
- the full development environment including dynamic file
- loading and debugging. A modified version of GDB provides
- mixed-language debugging. A paper describing WCL was
- published in the proceedings of the 1992 Lisp and Functional
- Programming Conference.
- requires: GNU C 2.1 (not 2.2.2)
- ports: Sparc/SunOS
- discussion: <wcl-request@sunrise.stanford.edu>
- contact: <wcl@sunrise.stanford.edu>
- updated: 1992/10/28
-
- language: Common Lisp
- package: KCL (Kyoto Common Lisp)
- version: ?
- parts: compiler(->C), interpreter
- author: T. Yuasa <yuasa@tutics.tut.ac.jp>, M. Hagiya
- <hagiya@is.s.u-tokyo.ac.jp>
- location: ? ftp pub/kcl*.tar.Z from rascal.ics.utexas.edu ?
- description: KCL, Kyoto Common Lisp, is an implementation of Lisp,
- It is written in the language C to run under Un*x-like
- operating systems. KCL is very C-oriented; for example,
- the compilation of Lisp functions in KCL involves a
- subsidiary C compilation.
- conformance: conforms to the book ``Common Lisp: The Language,''
- G. Steele, et al., Digital Press, 1984.
- bugs: kcl@cli.com
- restriction: must sign license agreement
- discussion: kcl-request@cli.com
- updated: 1987/06
-
- language: Common Lisp
- package: AKCL (Austin Kyoto Common Lisp)
- version: 1-615
- parts: improvements
- author: Bill Schelter <wfs@cli.com>, <wfs@rascal.ics.utexas.edu>
- location: ftp pub/akcl-*.tar.Z from rascal.ics.utexas.edu
- description: AKCL is a collection of ports, bug fixes, and
- performance improvements to KCL.
- ports: Decstation3100, HP9000/300, i386/sysV, IBM-PS2/aix, IBM-RT/aix
- SGI Sun-3/Sunos[34].* Sun-4 Sequent-Symmetry IBM370/aix,
- VAX/bsd VAX/ultrix NeXT
- updated: 1992/04/29
-
- language: Common Lisp
- package: CLX
- version: 5.01
- parts: library
- author: ?
- location: ftp contrib/CLX.R5.01.tar.Z from export.lcs.mit.edu
- description: Common Lisp binding for X
- bugs: bug-clx@expo.lcs.mit.edu
- ports: ?, CMU Common Lisp
- contact: ?
- updated: 1992/08/26
-
- language: Common Lisp
- package: CLISP
- version: 1994/07/12
- parts: interpreter, bytecode compiler, runtime library, editor
- author: Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>,
- Michael Stoll <michael@rhein.iam.uni-bonn.de>
- location: ftp /pub/lisp/clisp from ma2s2.mathematik.uni-karlsruhe.de
- /pub/Linux/development/lisp/ from sunsite.unc.edu
- /pub/linux/packages/lisp/ from tsx-11.mit.edu
- description: CLISP is a Common Lisp (CLtL1) implementation by Bruno Haible
- of Karlsruhe University and Michael Stoll of Munich University,
- both in Germany. It needs only 1.5 MB of RAM. German and
- English versions are available, French coming soon. Packages
- running in CLISP include PCL and, on Unix machines, CLX. A
- native subset of CLOS is included.
- conformance: CLtL1 + parts of CLtL2
- restriction: GNU General Public License
- ports: Atari, Amiga, MS-DOS, OS/2, Linux, Sun4, Sun386i, HP90000/800
- and others
- discussion: send "subscribe clisp-list" to
- listserv@ma2s2.mathematik.uni-karlsruhe.de
- contact: Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>
- updated: 1994/07/12
-
- language: Common Lisp
- package: Cartier's Contribs
- version: 1.2
- parts: libraries, documentation
- author: Guillaume Cartier <cartier@math.uqam.ca>
- location: ftp pub/mcl2/contrib/Cartiers* from cambridge.apple.com
- description: libraries for MCL
- requires: Macintosh Common Lisp
- discussion: comp.lang.lisp.mcl
- updated: 1994/04/18
-
- language: Common Lisp
- package: QT-OBJECTS
- version: ?
- parts: library
- author: Michael Travers <mt@media.mit.edu> and others
- location: ?
- description: interface between MCL and QuickTime
- requires: Macintosh Common Lisp
- discussion: comp.lang.lisp.mcl
- updated: 1994/04/18
-
- language: Common Lisp
- package: Memoization ?
- version: ?
- parts: library
- author: Marty Hall <hall@aplcenmp.apl.jhu.edu>
- location: ftp pub/Memoization from archive.cs.umbc.edu
- description: Automatic memoization is a technique by which an existing
- function can be transformed into one that "remembers"
- previous arguments and their associated results
- updated: 1992/11/30
-
- language: Common Lisp
- package: GINA (Generic Interactive Application)
- version: 2.2
- parts: language binding, class library, interface builder
- author: ?
- location: ftp /gmd/gina from ftp.gmd.de
- N.America: ftp contrib/? from export.lcs.mit.edu
- description: GINA is an application framework based on Common Lisp and
- OSF/Motif to simplify the construction of graphical
- interactive applications. It consists of:
- + CLM, a language binding for OSF/Motif in Common Lisp.
- + the GINA application framework, a class library in CLOS
- + the GINA interface builder, an interactive tool implemented
- with GINA to design Motif windows.
- requires: OSF/Motif 1.1 or better. Common Lisp with CLX, CLOS, PCL and
- processes.
- ports: Franz Allegro, Lucid, CMU CL and Symbolics Genera
- discussion: gina-users-request@gmd.de
- updated: ?
-
- language: Common Lisp
- package: CLiCC
- version: 0.6.4
- parts: compiler(->C), runtime library
- author: Heinz Knutzen <hk@informatik.uni-kiel.de>,
- Ulrich Hoffman <uho@informatik.uni-kiel.de>,
- Wolfgang Goerigk <wg@informatik.uni-kiel.de>
- location: ftp pub/kiel/apply/clicc*
- from ftp.informatik.uni-kiel.de (134.245.15.114)
- description: A Common Lisp to C compiler, meant to be used as a supplement
- to existing CLISP systems for generating portable applications.
- Target C code must be linked with CLiCC runtime library to
- produce executable.
- conformance: Subset of Common Lisp + CLOS (named: CL_0, or CommonLisp_0)
- CL_0 based on CLtL1.
- restriction: Freely distributable and modifiable
- ports: Runs in Lucid Lisp, AKCL, CLISP, ...
- status: Working towards CLtL2 and ANSI-CL conformance.
- updated: 1994/06/25
-
- language: Common Lisp
- package: Hyperlisp
- version: 2.1f
- parts: ?
- author: Joe Chung, MIT Media Laboratory
- location: ftp pub/mcl2/contrib/hyperlisp21f.sit.hqx
- from cambridge.apple.com
- description: Hyperlisp is a real-time MIDI programming environment
- embedded in Macintosh Common Lisp. The environment
- was developed specifically for the Hyperinstruments project
- at the MIT Media Laboratory, and is optimized for interactive
- systems which require fast response times. Hyperlisp
- provides two main services for the music programmer:
- routines for MIDI processing and primitives for scheduling
- the application of functions. Programs written in Macintosh
- Common Lisp can use these services for a wide variety of
- real-time MIDI applications.
- updated: 1994/04/18
-
- language: Franz Lisp
- package: Liszt?
- version: ?
- parts: compiler(->C)
- author: port to C by J W Dalton <jeff@festival.ed.ac.uk>
- location: ask author
- description: A version of Liszt that emits C
- updated: ?
-
- language: Lisp
- package: RefLisp
- version: 2.67
- parts: interpreter, documentation, examples, profiler
- author: Bill Birch <bbirch@hemel.bull.co.uk>
- location: ftp implementations/reflisp/* from the directory
- /afs/cs.cmu.edu/user/mkant/Public/Lisp on ftp.cs.cmu.edu
- description: The interpreter is a shallow-binding (i.e., everything has
- dynamic scope), reference counting design making it suitable
- for experimenting with real-time and graphic user interface
- programming. Common Lisp compatibility macros are provided, and
- most of the examples in "Lisp" by Winston & Horn have been run
- on RefLisp. RefLisp makes no distinction between symbol-values
- and function-values, so a symbol can be either but not both.
- There are Lisp modules for lexical scope and for running
- indefinite extent Scheme programs.
- ports: MSDOS (CGA/EGA/VGA), Unix (AIX)
- status: "Last Update for a While," author is emigrating to Australia
- updated: 1993/02/09
-
- language: Lisp
- package: xlisp
- version: 2.1
- parts: interpreter
- author: David Micheal Betz <dbetz@apple.com>
- location: ftp pub/xlisp* from wasp.eng.ufl.edu
- US Mail: contact Tom Almy <toma@sail.labs.tek.com>
- Windows: ftp software/prog_lang/xlisp/xlisppc* from ftp.cs.orst.edu
- Version2.0: ftp pub/xlisp/* from cs.orst.edu
- Macintosh: ftp pub/bskendig/? from netcom.com (source comming)
- description: XLISP is an experimental programming language
- combining some of the features of Common Lisp with an
- object-oriented extension capability. It was
- implemented to allow experimentation with
- object-oriented programming on small computers.
- conformance: subset of Common Lisp with additions of Class and Object
- restriction: ? no commercial use ?
- ports: unix, amiga, atari, mac, MSDOS
- portability: very high: just needs a C compiler
- discussion: comp.lang.lisp.x
- updated: 1992/05/26 (unix), 1987/12/16 (other platforms)
-
- language: Lisp
- package: "LISP, Objects, and Symbolic Programming"
- version: ?
- parts: book with compiler included
- author: Robert R. Kessler and Amy R. Petajan,
- published by Scott, Foresman and Company, Glenview, IL
- location: bookstore...
- description: ? (A short synopsis might help if anyone has one)
- updated: 1988
-
- language: Lisp
- package: franz lisp opus
- version: 38.92 and 38.93b
- parts: ?
- author: ?
- location: ftp://ftp.cs.cmu.edu/user/ai/lang/others/franzlsp/
- ftp://macbeth.cogsci.ed.ac.uk:/pub/franz-for-NetBSD/
- http://www.aiai.ed.ac.uk/~jeff/franz-for-386.html
- description: Franz Lisp is a dialect of Lisp that predates Common Lisp.
- It is very similar to MacLisp. It lacks full lexical scoping.
- discussion: franz-friends-request@berkeley.edu
- ports: 68K Suns, VAX 750s, and ICL Perqs running PNX. NetBSD
- updated: ?
-
- language: Lisp (WOOL - Window Object Oriented Language)
- package: GWM (Generic Window Manager)
- version: 1.8c
- parts: interpreter, examples
- author: Colas Nahaboo
- location: ftp contrib/window_managers/gwm/gwm-1.8c.tar.gz from ftp.x.org
- France: ftp pub/gwm/gwm-1.8c.tar.gz from koala.inria.fr
- description: Gwm is an extensible window manager for X11. It is
- based on a WOOL kernel, an interpreted dialect of lisp
- with specific window management primitives.
- discussion: <gwm-talk@sophia.inria.fr>
- help: <gwm@sophia.inria.fr>
- contact: <gwm@sophia.inria.fr>
- updated: 1995/12/08
-
- language: elisp (Emacs Lisp)
- package: ILISP
- version: 5.0
- parts: Emacs interface
- author: ?? Ivan Vazquez <ivan@haldane.bu.edu>
- location: ftp to haldane.bu.edu (128.197.54.25) in pub/ilisp/ilisp.tar.Z
- description: ILISP provides a somewhat lisp-machine like interface to lisp
- listeners from Emacs.
- bugs: ilisp-bug@darwin.bu.edu (or ilisp-bugs@darwin.bu.edu).
- discussion: ilisp@darwin.bu.edu
- support: Mailing list requests/deletions to ilisp-request@darwin.bu.edu
- updated: 1993/06/28
-
- language: elisp (Emacs Lisp)
- package: GNU Emacs
- version: 19.30
- parts: editor, interpreter, documentation, source debugger
- author: Richard Stallman and others
- location: pub/gnu/emacs-19.30.tar.gz from any GNU site.
- description: An editor that is almost an operating system. Quite
- programmable. And it even fits in your tackle box.
- bugs: gnu.emacs.bug, e-mail to bug-gnu-emacs@prep.ai.mit.edu
- ports: Unix, VMS, ?
- discussion: alt.religion.emacs, gnu.emacs.sources
- help: gnu.emacs.help
- announcements: gnu.emacs.announce
- updated: 1995/11/29
-
- language: elisp (Emacs Lisp)
- package: Lucid Emacs (lemacs)
- version: 19.10
- parts: ? interpreter
- author: kyle@crystal.wonderworks.com
- location: /pub/lemacs/* from LUCID.COM (192.43.175.3).
- description: A version of Emacs based on Emacs 19.
- Mirrored at other sites including:
- /pub/epoch-files/lemacs/ from cs.uiuc.edu
- /pub/lemacs-19.10/ from self.stanford.edu
- bugs: alt.lucid-emacs.bug, bug-lucid-emacs@lucid.com
- discussion: alt.lucid-emacs.help, help-lucid-emacs@lucid.com
- updated: 1994/06/01
-
- language: ? Lisp, X
- package: winterp
- version: 2.03
- parts: interpreter, documentation, examples
- author: Niels P. Mayer <mayer@eit.com> or <mayer@netcom.com>
- location: ftp.x.org in contrib/devel_tools/winterp-2.*.tar.gz
- description: An object-oriented rapid prototyping, development and delivery
- environment for building extensible applications with the
- OSF/Motif UI Toolkit and Xtango-based graphics/animation.
- ports: UNIX
- discussion: comp.lang.lisp.x.
- announcements: winterp@netcom.com
- updated: 1994/06/24
-
- language: Lisp
- iref: (Lisp) Tim Budd's C++ implementation of Kamin's interpreters
-
- language: LISP, awk
- package: A Lisp interpreter in awk
- version: ?
- parts: Interpreter, library, reference, example (ELIZA,
- tail-recursive Scheme interpreter (with library and examples))
- author: Darius Bacon <djello@well.sf.ca.us>
- location: alt.sources (May 31, 1994)
- description: A relatively simple interpreter (no garbage collection or tail
- recursion) implemented in AWK. Variables have dynamic scope,
- but with a single namespace. Scheme names used for primitives
- and special forms.
- updated: 1994/05/31
-
- language: lisp
- package: walk
- version: ?
- parts: interpreter, nroff document
- author: Roger Rohrbach
- location: alt.sources (May 31, 1994)
- description: A Lisp interpreter written in old awk.
- reference: McCarthy, J. Recursive Functions of Symbolic Expressions and
- their Computation by Machine, Part I. Comm. ACM, 3, 4,
- pp. 185-195 April 1960
- Aho, A., Weinberger, P., & Kernighan, B.W. The Awk
- Programming Language. Addison-Wesley, Reading, MA 1988
- updated: 1989/01/03
-
- language: Oaklisp
- package: oaklisp
- version: 1.2
- parts: interface, bytecode compiler, runtime system, documentation
- author: Barak Pearlmutter, Kevin Lang
- location: ftp /afs/cs.cmu.edu/user/bap/oak/ftpable/* from f.gp.cs.cmu.edu
- description: Oaklisp is a Scheme where everything is an object. It
- provides multiple inheritence, a strong error system,
- setters and locators for operations, and a facility for
- dynamic binding.
- status: actively developed?
- contact: Pearlmutter-Barak@CS.Yale.Edu ?
- updated: 1992/05 ?
-
- language: Logo
- package: logo
- version: 4
- parts: interpreter
- author: ?
- location: comp.sources.unix archive volume 10
- description: ?
- updated: ?
-
- language: Logo
- package: Berkeley Logo
- version: 3.3
- parts: interpreter
- author: Brian Harvey <bh@anarres.CS.Berkeley.EDU>
- location: ftp pub/ucblogo/* from anarres.cs.berkeley.edu
- http://http.cs.berkeley.edu/~bh/
- description: + Logo programs are compatible among Unix, PC, and Mac.
- + "richer" than MswLogo?
- - pretty slow.
- - doesn't do anything fancy about graphics. (One turtle.)
- ports: unix, pc, mac
- updated: 1993/08/06
-
- language: Logo
- package: MswLogo
- version: 4.2d
- parts: interpreter
- author: George Mills <mills@athena.lkg.dec.com>
- location: ftp pub/comp.lang.logo/programs/mswlogo from cher.media.mit.edu
- Source may require emailing George Mills.
- description: A windows front-end for Berkeley Logo
- bugs: George Mills <mills@athena.lkg.dec.com>
- ports: MS Windows 3.x
- status: activly developed
- updated: 1995/12/20
-
- language: Scheme
- package: Schematik
- version: 1.1.5.2
- parts: programming environment
- author: Chris Kane, Max Hailperin <max@nic.gac.edu>
- location: ftp /pub/next/scheme/* from ftp.gac.edu
- Europe: ftp /pub/next/ProgLang from ftp.informatik.uni-muenchen.de
- description: Schematik is a NeXT front-end to MIT Scheme for
- the NeXT. It provides syntax-knowledgeable text
- editing, graphics windows, and user-interface to
- an underlying MIT Scheme process. It comes packaged
- with MIT Scheme 7.1.3 ready to install on the NeXT.
- ports: NeXT, MIT Scheme 7.1.3
- portability: requires NeXTSTEP
- contact: schematik@gac.edu
- updated: 1993/03/11
-
- language: Scheme
- package: T
- version: 3.1
- parts: compiler (native machine code)
- author: Norman Adams, David Kranz, Richard Kelsey, James Philbin,
- and Jonathan Rees.
- location: ftp pub/systems/t3.1 from ftp.ai.mit.edu
- description: a Scheme-like language developed at Yale. T is
- written in itself and compiles to efficient native
- code. Includes a Scheme environment.
- (A multiprocessing version of T is available from
- masala.lcs.mit.edu:/pub/mult)
- bugs: kranz@lcs.mit.edu
- ports: Decstation, Sparc, Iris. Old m68k version.
- contact: David Andrew Kranz <kranz@lcs.mit.edu>
- updated: 1991/11/26
-
- language: Scheme
- package: scm
- version: 4e1
- parts: interpreter, conformance test, documentation
- author: Aubrey Jaffer <jaffer@zurich.ai.mit.edu>
- location: altdorf.ai.mit.edu in archive/scm/scm*
- prep.ai.mit.edu in pub/gnu/jacal/scm*.tar.gz
- ftp.cs.indiana.edu in /pub/scheme-repository/imp/scm*.tar.gz
- Canada: ftp pub/oz/scheme/new/* from nexus.yorku.ca
- Europe: ftp pub/bosullvn/jacal/* from ftp.maths.tcd.ie
- description: Fast portable R4RS Scheme interpreter.
- conformance: Revised^4 Report on the Algorithmic Language Scheme,
- IEEE P1178 specification.
- restriction: GNU General Public License
- requires: SLIB (pointers to it in documentation)
- ports: Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS,
- Unix. ASCII and EBCDIC both supported.
- status: actively developed
- contributions: send $$$ to Aubrey Jaffer, 84 Pleasant St., Wakefield, MA 01880
- updated: 1994/04/29
-
- language: Scheme
- package: Scheme Library (slib)
- version: 2a1
- parts: library, documentation
- author: ?? Aubrey Jaffer <jaffer@ai.mit.edu>
- location: altdorf.ai.mit.edu in ftp archive/scm/slib*.tar.Z
- prep.ai.mit.edu in pub/gnu/jacal/slib*.tar.gz
- ftp.maths.tcd.ie in pub/bosullvn/jacal/slib*.tar.gz
- ftp.cs.indiana.edu in /pub/scheme-repository/imp/slib*.tar.gz
- description: SLIB is a portable scheme library meant to provide
- compatibiliy and utility functions for all standard scheme
- implementations.
- ports: Scm4b, Chez, ELK 1.5, GAMBIT, MITScheme, Scheme->C,
- Scheme48, T3.1.
- status: actively developed
- contact: Aubrey Jaffer <jaffer@zurich.ai.mit.edu>
- updated: 1993/10/09
-
- language: Scheme
- package: Hobbit
- version: release 4b
- parts: compiler(->C), documentation
- author: Tanel Tammet <tammet@cs.chalmers.se>
- location: ftp://ftp.cs.chalmers.se/pub/users/tammet/hobbit4b.tar.gz
- It is more convenient to ftp the stuff, read the paper and
- more by using the WWW URL -
- http://www.cs.chalmers.se/pub/users/tammet/home.html
- description: The main aim of hobbit is to produce maximally fast C programs
- which would retain most of the original Scheme program
- structure, making the output C program readable and modifiable.
- Hobbit is written in Scheme and is able to self-compile.
- Hobbit release 1 works together with the scm release scm4b3.
- Future releases of scm and hobbit will be coordinated.
- reference: ftp://ftp.cs.chalmers.se/pub/users/tammet/hobbit.ps.gz
- requires: scm 4b3
- updated: 1995/04/25
-
- language: Scheme
- package: siod (Scheme In One Day, or Scheme In One Defun)
- version: 3.0
- parts: interpreter,library,documentation,sql interface
- author: George Carrette <gjc@world.std.com>
- location: ftp.std.com in pub/gjc
- ftp.cs.indiana.edu in scheme
- description: Small scheme implementation in C arranged as a set of
- subroutines that can be called from any main program
- for the purpose of introducing an interpreted extension
- language. Compiles to 20K bytes of executable (VAX/VMS).
- Lisp calls C and C calls Lisp transparently.
- features: symbols,strings,arrays,hash tables, file i/o binary/text/seek,
- data save/restore in binary and text, interface to commercial
- databases such Oracle, Digital RDB. Small executable (42k
- on VAX).
- restriction: none besides non-removal of copyright notice.
- ports: VAX/VMS, VAX Unix, Sun3, Sun4, Amiga, Macintosh, MIPS, Cray,
- ALPHA/VMS, Windows NT/WIN32, OS/2.
- portability: Liked by ANSI C compilers and C++ compilers. e.g. gcc -Wall
- status: supported as benchmark/testbed at mitech.com
- help: the author will help anyone building something.
- contributions: antique/classic computer hardware, perhaps.
- announcements: comp.lang.scheme
- updated: 1994/04/29
-
- language: Scheme
- package: MIT Scheme (aka C-Scheme)
- version: 7.2
- parts: interpreter, large runtime library, emacs macros,
- native-code compiler, emacs-like editor, source-level debugger
- author: MIT Scheme Team (primarily Chris Hanson, Jim Miller, and
- Bill Rozas, but also many others)
- location: ftp archive/scheme-7.2 from altdorf.ai.mit.edu
- DOS floppies ($95) and Unix tar tapes ($200) from
- Scheme Team / c/o Prof. Hal Abelson / MIT AI Laboratory /
- 545 Technology Sq. / Cambridge, MA 02139
- description: Scheme implementation with rich set of utilities.
- conformance: full compatibility with Revised^4 Report on Scheme,
- one known incompatibility with IEEE Scheme standard
- bugs: bug-cscheme@zurich.ai.mit.edu
- ports: 68k (hp9000, sun3, NeXT), MIPS (Decstation, Sony, SGI),
- HP-PA (600, 700, 800), Vax (Ultrix, BSD), Alpha (OSF),
- i386 (DOS/Windows, various Unix)
- status: activly developed
- discussion: info-cscheme@zurich.ai.mit.edu
- (cross-posted to comp.lang.scheme.c)
- updated: 1992/08/24
-
- language: Scheme
- package: Scheme->C
- version: 15mar93
- parts: compiler(->C)
- author: Digital Western Research Laboratory; Joel Bartlett
- location: ftp pub/DEC/Scheme-to-C/* from gatekeeper.dec.com
- description: Translates Revised**4 Scheme to C that is then compiled
- by the native C compiler for the target machine. This
- design results in a portable system that allows either
- stand-alone Scheme programs or programs written in both
- compiled and interpreted Scheme and other languages.
- conformance: superset of Revised**4
- + "expansion passing style" macros
- + foreign function call capability
- + interfaces to Xlib (ezd & Scix)
- + records
- reference: send Subject "help" to WRL-Techreports@decwrl.dec.com
- for technical report. Other documentation in
- Scheme-to-C directory on gatekeeper.
- ports: VAX/ULTRIX, DECstation ULTRIX, Alpha AXP OSF/1,
- Microsoft Windows 3.1, NT, Apple Macintosh 7.1,
- HP 9000/300, HP 9000/700, Sony News, SGI Iris and
- Harris Nighthawk and other Unix-like m88k systems.
- The 01nov91 version is also available on Amiga, SunOS,
- NeXT, and Apollo systems.
- status: actively developed, contributed ports welcomed
- updated: 1993/03/15
-
- language: Scheme, Tk
- package: STk
- version: 1.00
- parts: interpreter
- author: Gallesio Erick <eg@unice.fr>
- location: ftp pub/STk-1.00.tar.gz from kaolin.unice.fr
- description: A Scheme interpreter blended with Ousterhout's Tk package.
- STk expresses all of Tk as scheme objects. STk includes
- a CLOS/Dylan-like OO extenstion, but the extension is slow.
- conformance: almost R4RS
- ports: SunOS 4.1.x, Ultrix/MIPS
- updated: 1993/09/06
-
- language: Scheme
- package: PC-Scheme
- version: 3.03
- parts: compiler, debugger, profiler, editor, libraries
- author: Texas Instruments
- location: ftp archive/pc-scheme/* from altdorf.ai.mit.edu
- description: Written by Texas Instruments. Runs on MS-DOS 286/386 IBM PCs
- and compatibles. Includes an optimizing compiler, an
- emacs-like editor, inspector, debugger, performance testing,
- foreign function interface, window system and an
- object-oriented subsystem. Also supports the dialect used in
- Abelson and Sussman's SICP.
- conformance: Revised^3 Report, also supports dialect used in SICP.
- restriction: official version is $95, contact rww@ibuki.com
- ports: MSDOS
- updated: 1992/02/23
-
- language: Scheme
- package: PCS/Geneva
- version: 4.02PL1
- parts: compiler, debugger, profiler, editor, libraries
- author: "a team at the u. of Geneva"
- location: send email to schemege@uni2a.unige.ch
- description: PCS/Geneva is a cleaned-up version of Texas Instrument's PC
- Scheme developed at the University of Geneva. The main
- extensions to PC Scheme are 486 support, BGI graphics, LIM-EMS
- pagination support, line editing, and assembly-level
- interfacing.
- contact: schemege@uni2a.unige.ch
- updated: 1994/01/11
-
- language: Scheme
- package: Gambit Scheme System
- version: 2.0
- parts: interpreter, compiler, linker, libraries
- author: Marc Feeley <feeley@iro.umontreal.ca>
- location: ftp pub/parallele/gambit/* from ftp.iro.umontreal.ca
- description: Gambit is an optimizing Scheme compiler/system. The
- Macintosh port can run with Toolbox and has a built-in
- editor.
- conformance: IEEE Scheme standard and `future' construct.
- ports: 68k: unix, sun3, hp300, bbn gp100, NeXT, Macintosh
- updated: ?
-
- language: Scheme
- package: scsh
- version: 0.4
- parts: parser, libraries
- author: Olin Shivers, Brian Carlstrom <bdc@blackjack.ai.mit.edu>
- and David Albertz
- location: ftp://clark.lcs.mit.edu/pub/su/scsh/scsh.tar.z
- ftp://swiss-ftp.ai.mit.edu/pub/su/scsh/scsh.tar.z
- description: Scsh is a Unix shell that is embedded within R4RS Scheme. It
- provides high-level shell notation and full access to the Unix
- system calls. The current implementation is built on top of
- Scheme 48, version 0.36.
- Real interactive use needs a parser for an sh-like syntax, job
- control, and the gnu readline library. If you're interested in
- hacking on these things, drop us a line at
- scheme-underground@ai.mit.edu. We've got designs for most of
- this stuff; we're just short on time and bodies.
- portability: easy to port
- ports: SunOS, NetBSD, Linux, HP-UX, NeXTSTEP (on intel)
- discussion: <scsh@martigny.ai.mit.edu>
- bugs: <scsh-bugs@martigny.ai.mit.edu>
- contact: <scsh-request@martigny.ai.mit.edu>
- updated: 1995/11/01
-
- language: Scheme
- package: Elk (Extension Language Kit)
- version: 3.0
- parts: interpreter, dynamically-loadable libraries, run-time,
- documentation, examples.
- author: Oliver Laumann <net@cs.tu-berlin.de>
- location: http://www.informatik.uni-bremen.de/~net/elk
- ftp://ftp.x.org/contrib/devel_tools/elk-3.0.tar.gz
- Europe: ftp://ftp.uni-bremen.de/pub/programming/languages/scheme/elk/elk-3.0.tar.gz
- description: Elk is a Scheme implementation designed as an embeddable,
- reusable extension language subsystem for applications
- written in C or C++. Elk is also useful as a stand-alone
- Scheme implementation, in particular as a platform for rapid
- prototyping of X11-based Scheme programs.
- conformance: R^4RS
- reference: Oliver Laumann and Carsten Bormann, Elk: The Extension
- Language Kit, USENIX Computing Systems, vol 7, no 4, 1994.
- features: + Full incremental, dynamic loading on many platforms
- + Freezing of interpreter/application into executable file
- + C/C++ programmer's interface for language interoperability
- + Scheme bindings for X11 Xlib, Xt, Athena and Motif widgets
- + UNIX interface (not restricted to POSIX)
- + debugger, bitstrings, records, regular expressions
- + stop-and-copy and generational incremental garbage collector
- + 230+ pages of documentation (troff and PostScript)
- ports: numerous UNIX platforms (see MACHINES in the distribution).
- status: Elk was first published in 1989.
- announcements: comp.lang.scheme
- updated: 1995/08
-
- language: Scheme
- package: libscheme
- version: 0.5
- parts: embedded interpreter
- author: Brent Benson <Brent.Benson@mail.csd.harris.com>
- location: ftp.cs.indiana.edu in imp/libscheme-0.5.tar.gz
- description: An embedded interpreter for Scheme written in C, can be used
- as a command interpreter or extension language, and is easily
- extended in C with new primitive types, primitve functions and
- syntax. Now supports linkage with C++.
- conformance: Revised^4 Report on the Algorithmic Language Scheme.
- updated: 1994/10/21
-
- language: Scheme
- package: ezd (easy drawing for programs on X displays)
- version: 15mar93
- parts: interpreter/server
- author: ?
- location: ftp pub/DEC/ezd/* from gatekeeper.dec.com
- description: Ezd is a graphics server that sits between an application
- program and the X server and allows both existing and new
- programs easy access to structured graphics. Ezd users have
- been able to have their programs produce interactive drawings
- within hours of reading the man page. Structured graphics:
- application defined graphical objects are ordered into drawings
- by the application. Loose coupling to the application
- program: unlike most X tools, ezd does not require any event
- handling by the application. The ezd server mantains window
- contents. When an event occurs on such an object, an
- application supplied Scheme expression is evaluated.
- contact: Joel Bartlett <bartlett@decwrl.dec.com> ?
- updated: 1993/03/10
-
- language: Scheme
- package: XScheme
- version: 0.28
- parts: ?
- author: David Betz <dbetz@apple.com>
- location: ftp pub/scheme/* from nexus.yorku.ca
- description: ?
- discussion: comp.lang.lisp.x
- contact: ?
- updated: 1992/02/02
-
- language: Scheme
- package: Fools' Lisp
- version: 1.3.2
- parts: ?
- author: Jonathan Lee <jonathan@scam.berkeley.edu>
- location: ftp src/local/fools.tar.Z from scam.berkeley.edu
- description: a small Scheme interpreter that is R4RS conformant.
- ports: Sun-3, Sun-4, Decstation, Vax (ultrix), Sequent, Apollo
- updated: 1991/10/31
-
- language: Scheme
- package: Scheme88
- version: ?
- parts: ?
- author: ?
- location: ftp pub/scheme/* from nexus.yorku.ca
- description: ?
- contact: ?
- updated: ?
-
- language: Scheme
- package: UMB Scheme
- version: ?
- parts: ?, editor, debugger
- author: William Campbell <bill@cs.umb.edu>
- location: ftp pub/scheme/* from nexus.yorku.ca
- description: ?
- conformance: R4RS Scheme
- ports: ?
- updated: ?
-
- language: Scheme
- package: PseudoScheme
- version: 2.8
- parts: translator(Common Lisp)
- author: Jonathan Rees <jar@cs.cornell.edu>
- location: ?
- description: ?
- conformance: R3RS except call/cc.
- requires: Common Lisp
- ports: Lucid, Symbolics CL, VAX Lisp, Explorer CL
- announcements: info-clscheme-request@mc.lcs.mit.edu
- updated: ?
-
- language: Scheme
- package: SOS (Scheme Object System)
- version: ?
- parts: ?
- author: Chris Hanson ?
- location: ftp archive/cph/sos.tar.gz from altdorf.ai.mit.edu
- description: ?
- updated: ?
-
- language: Scheme
- package: Similix
- version: 5.0
- parts: partial evaulator, debugger
- author: Anders Bondorf <anders@diku.dk>
- location: ftp pub/diku/dists/Similix.tar.Z from ftp.diku.dk
- description: Similix is an autoprojector (self-applicable partial
- evaluator) for a higher order subset of the strict functional
- language Scheme. Similix handles programs with user defined
- primitive abstract data type operators which may process
- global variables (such as input/output operators).
- conformance: extension of large subset of R4RS Scheme.
- requires: Scheme
- ports: Scm, Chez Scheme
- portability: high
- contact: Anders Bondorf <anders@diku.dk>
- updated: 1993/05/18
-
- language: Scheme
- package: syntax-case
- version: 2.1
- parts: macro system, documentation
- author: R. Kent Dybvig <dyb@cs.indiana.edu>
- location: cs.indiana.edu in ftp pub/scheme/syntax-case.tar.Z
- Macintosh: maya.dei.unipd.it in /pub/mac/gambit/
- description: We have designed and implemented a macro system that is
- vastly superior to the low-level system described in
- the Revised^4 Report; in fact, it essentially
- eliminates the low level altogether. We also believe
- it to be superior to the other proposed low-level
- systems as well, but each of you can judge that for
- yourself. We have accomplished this by "lowering the
- level" of the high-level system slightly, making
- pattern variables ordinary identifiers with essentially
- the same status as lexical variable names and macro
- keywords, and by making "syntax" recognize and handle
- references to pattern variables.
- reference: Robert Hieb, R. Kent Dybvig, and Carl Bruggeman "Syntactic
- Abstraction in Scheme", IUCS TR #355, 6/92 (revised 7/3/92)
- R. Kent Dybvig, "Writing Hygienic Macros in Scheme with
- Syntax-Case", IUCS TR #356, 6/92 (revised 7/3/92).
- ports: Chez Scheme, Mac port runs under MacGambit 2.0
- updated: 1992/07/06
-
- language: Scheme
- package: x-scm
- version: ?
- parts: ?
- author: Larry Campbell <campbell@redsox.bsw.com>
- location: alt.sources archive
- description: x-scm is a bolt-on accessory for the "scm" Scheme interpreter
- that provides a handy environment for building Motif and
- OpenLook applications. (There is some support as well for raw
- Xlib applications, but not enough yet to be useful.)
- requires: scm, X
- ports: ?
- updated: 1992/08/10
-
- language: Scheme, Prolog
- package: "Paradigms of AI Programming"
- version: ?
- parts: book with interpreters and compilers in Common Lisp
- author: Peter Norvig
- location: bookstore, and ftp pub/norvig/* from unix.sri.com
- description: ?
- updated: ?
-
- language: Scheme
- package: Psd (Portable Scheme Debugger)
- version: 1.1
- parts: debugger
- author: Kellom{ki Pertti <pk@cs.tut.fi>
- location: ftp pub/src/languages/schemes/psd.tar.Z from cs.tut.fi
- description: source code debugging from emacs
- restriction: GNU GPL
- requires: R4RS compliant Scheme, GNU Emacs.
- ports: scm, Elk, Scheme->C
- updated: 1992/10/08
-
- language: Scheme
- package: Tiny Clos
- version: first release
- parts: ?
- author: ?
- location: ftp pub/mops/* from parcftp.xerox.com
- description: A core part of CLOS (Common Lisp Object System) ported to
- Scheme and rebuilt using a MOP (Metaobject Protocol).
- This should be interesting to those who want to use MOPs
- without using a full Common Lisp or Dylan.
- ports: MIT Scheme 11.74
- discussion: mailing list: mops, administered by gregor@parc.xerox.com
- contact: Gregor Kiczales <gregor@parc.xerox.com>
- updated: 1992/12/14
-
- language: Scheme
- package: VSCM
- version: V0r3
- parts: runtime, bytecode compiler, bytecode interpreter
- author: Matthias Blume <blume@cs.princeton.edu>
- location: ftp /pub/scheme-repository/imp/vscm*.tar.gz
- ftp.cs.indiana.edu
- Germany: ftp pub/scheme/yorku/imp/vscm*
- from faui80.informatik.uni-erlangen.de
- UK: ftp pub/uunet/languages/lisp/scheme/repository/imp/vscm*
- from unix.hensa.ac.uk
- description: VSCM is a highly portable implementation of Scheme, written in
- ANSI C and Scheme. Portability is achieved by exlusive use of
- legal ANSI C features -- as opposed to a plethora of #ifdef's
- to adjust to various system peculiarities. (Of course, in real
- life ANSI C doesn't guarantee portability per se, because there
- are too many systems with broken compilers or broken
- libraries.)
- conformance: R4RS, IEEE P1178
- features: exception and interrupt handling, executable portable memory
- images, coroutines, continuations with multiple arguments
- ports: Unix, Macintosh
- portability: very high
- status: actively developed
- discussion: comp.lang.scheme
- updated: 1993/11/09
-
- language: Scheme
- package: PSI
- version: pre-release
- parts: interpreter, virtual machine
- author: Ozan Yigit <oz@ursa.sis.yorku.ca>, David Keldsen, Pontus Hedman
- location: from author
- description: I am looking for a few interested language hackers to play with
- and comment on a scheme interpreter. I would prefer those who
- have been hacking portable [non-scheme] interpreters for many
- years. The interpreter is PSI, a portable scheme interpreter
- that includes a simple dag compiler and a virtual machine. It
- can be used as an integrated extension interpreter in other
- systems, allows for easy addition of new primitives, and it
- embodies some other interesting ideas. There are some
- unique[2] code debug/trace facilities, as well, acceptable
- performance resulting from a fairly straight-forward
- implementation. Continuations are fully and portably
- supported, and perform well. PSI is based on the simple
- compilers/vm in Kent Dbyvig's thesis.
- conformance: R^4RS compatible with a number of useful extensions.
- updated: 1993/02/19
-
- language: Scheme
- package: Bigloo
- version: 1.4
- parts: interpreter, compiler(->ANSI C), runtime
- author: Manuel Serrano <Manuel.Serrano@inria.fr>
- location: ftp INRIA/Projects/icsla/Implementations/bigl* from ftp.inria.fr
- description: The main goal of Bigloo is to deliver small and fast stand
- alone applications.
- conformance: IEEE Scheme standard with some extensions for regex handling
- features: Optimization supported.
- ports: sun, sony news, sgi, linux, hp-ux
- portability: very high for unix systems
- updated: 1993/09/08
-
- language: Scheme
- package: Scheme84
- version: ?
- parts: ?
- author: ?
- location: Send a tape w/return postage to: Scheme84 Distribution /
- Nancy Garrett / c/o Dan Friedman / Department of Computer
- Science / Indiana University / Bloomington, Indiana. Call
- 1-812-335-9770.
- description: ?
- requires: VAX, Franz Lisp, VMS or BSD
- contact: nlg@indiana.edu
- updated: ?
-
- language: C++/Scheme
- package: Header2Scheme
- version: 1.1
- parts: Includes a modified Scheme (libscheme?) which is used
- to manipulate C++ objects described by ANSI
- C++-Compliant header files
- author: Kenneth B Russell: kbrussel@media.mit.edu
- location: http://www-white.media.mit.edu/~kbrussel/Header2Scheme/
- description: Header2Scheme is an automatic C++ to Scheme (SCM) foreign
- function interface generator. It is a tool for
- creating a simple, consistent Scheme interface to a
- large number of C++ classes.
- Header2Scheme works by traversing a directory tree
- containing header files for a C++ class library and
- creates code which implements a backend for a Scheme
- interface to the public interfaces of the described
- classes. It has been successfully used to generate
- Ivy, a Scheme interface to the Open Inventor 3D
- graphics toolkit.
- updated: 1995/11/15
-
- language: Scheme
- iref: (Scheme) Tim Budd's C++ implementation of Kamin's interpreters
-
- language: Scheme
- iref: (Proxy) Proxy
-
- document formatting languages
- -------------------------------------------------------------------------------
- category: document formatting languages
- description: These are formatting languages. Very application-specific.
- [Could someone make me an entry for TeX? --ed]
- iref: (C) c2man
-
- language: CLiP
- package: CLiP
- version: 2.1
- parts: documentation generator
- author: Eric W. van Ammers <AMMERS@RCL.WAU.NL>
- location: ftp clip/* from sun01.info.wau.nl
- description: CLiP does not use explicite commands to perform the extraction
- process. It recognizes pseudostatemens written as comment of
- the programming language in question. CLiP distinguishes
- pseudostatments from ordinary comments because the former
- comply with a a particular style. This specific style can be
- adjusted to suit virtually any programming language. The CLiP
- approach to LP makes the system extremely versatile. It is
- independent of programming language and text processing
- environment. We designed CLiP to be compatible with hypertext
- systems as well but we have not yet experimented with this form
- of documentation.
- CLiP works with almost any target and almost any source
- language
- ports: MS-DOS, VAX/VMS, Unix
- updated: 1993/11/18
-
- language: HP-GL, Postscript
- package: hp2ps
- version: 1.9c
- parts: interpreter
- author: Alun Jones <alun@huey.wst.com>
- location: ftp pub/hp2ps/hp2ps19c.zip from ftp.wst.com
- description: hp2ps is an HP-GL interpreter that is written in Postscript.
- It runs on the printer itself.
- restriction: If there is monetary benifit from using hp2ps, it is requested
- that money be set to Alun Jones. Further, hp2ps may not be
- distributed as part of a commercial offering without prior
- agreement.
- updated: ?
-
- language: Lout
- package: Lout
- version: 3.06
- parts: translator(Lout->Postscript), documentation
- author: Jeffrey H. Kingston <jeff@cs.su.oz.au>
- location: ftp://ftp.cs.su.oz.au/jeff/lout/
- ftp://ftp.sunet.se/pub/text-processing/lout/lout/
- description: Lout is a batch text formatting system.
- Lout offers an unprecedented range of advanced features,
- including equation formatting, tables, diagrams, rotation and
- scaling, sorted indexes, bibliographic databases, running
- headers and odd-even pages, automatic cross referencing, and
- much more, all ready to go. Furthermore, Lout is easily
- extended with definitions which are very much easier to write
- than troff of TeX macros because Lout is a high-level language,
- the outcome of an eight-year research project that went back to
- the beginning.
- ports: unix
- updated: 1993/07/30
-
- language: Postscript
- package: Ghostscript
- version: 2.6.1
- parts: interpreter, ?
- author: L. Peter Deutsch <ghost@aladdin.com>
- location: ftp pub/GNU/ghostscript* from a GNU archive site
- ftp from ftp.cs.wisc.edu:/pub/X/ghostscript*2.6.1*
- description: A postscript interpreter with previewers for serval
- systems and many fonts.
- updated: 1993/05/29
-
- language: Tps (Tiny/Transportable Postscript)
- package: Tps
- version: 2.1
- parts: interpreter, documentation.
- author: Dennis Heimbigner <dennis@cs.colorado.edu>
- location: ftp://ftp.cs.colorado.edu/pub/cs/distribs/arcadia/tps.tar.Z
- description: Embedded, Transportable, Agent Language based on Postscript.
- conformance: N.A.
- features: + Safety.
- + State Accessibility.
- + Multiple Interpreters.
- + Extensible types.
- + Extensible execution stack frames.
- bugs: Send bug reports to author.
- requires: c++ compiler.
- ports: Variety of Unix platforms: Solaris(1,2), IRIX, HPUX, OSF1.
- status: active, supported.
- help: from author.
- support: from author.
- announcements: comp.lang.misc
- updated: ?
- cref: distributed
- cref: embeddable
- cref: scripting languages
- cref: Forth family languages
- lref: Postscript
-
- language: Postscript, Common Lisp
- package: PLisp
- version: ?
- parts: translator(Postscript), programming environment(Postscript)
- author: John Peterson <peterson-john@cs.yale.edu>
- location: ?
- description: ?
- updated: ?
-
- language: SGML (Standardized Generalized Markup Language)
- package: sgmls
- version: 1.1
- parts: parser
- author: James Clark <jjc@jclark.com> and Charles Goldfarb
- location: ftp pub/text-processing/sgml/sgmls-1.0.tar.Z from ftp.uu.net
- UK: ftp sgmls/sgmls-1.1.tar.Z from ftp.jclark.com
- description: SGML is a markup language standardized in ISO 8879. Sgmls is
- an SGML parser derived from the ARCSGML parser materials which
- were written by Charles Goldfarb. It outputs a simple, easily
- parsed, line oriented, ASCII representation of an SGML
- document's Element Structure Information Set (see pp 588-593 of
- ``The SGML Handbook''). It is intended to be used as the front
- end for structure-controlled SGML applications. SGML is an
- important move in the direction of separating information from
- its presentation, i.e. making different presentations possible
- for the same information.
- bugs: James Clark <jjc@jclark.com>
- ports: unix, msdos
- updated: 1993/02/22
-
- language: troff, nroff, eqn, tbl, pic, refer, Postscript, dvi
- package: groff
- version: 1.07
- parts: document formatter, documentation
- author: James Clark <jjc@jclark.com>
- location: ftp groff-1.07.tar.z from a GNU archive site
- description: [An absolutely fabulous troff! --ed]
- restriction: GNU General Public License
- requires: C++
- updated: 1993/03/03
-
- language: Web
- package: CWeb
- version: 3.1
- parts: translator(ANSI C and C++)
- author: Levy/Knuth?
- location: ?
- description: [Referred to in the CWeb 3.x announcement (below). I'll follow
- up on it in the next release of the list. -- Ed]
- requires: ANSI C and/or C++ Compiler?
- contact: ?
- updated: ?
-
- language: Web
- package: CWeb
- version: 3.x
- parts: translator(ANSI C)
- author: Marc van Leeuwen
- location: ftp pub/cweb/? from ftp.cwi.nl
- description: An ANSI C implementation of the Web literate-programming
- concept (Both source and output are ANSI C). This version was
- developed in parallel with v3.1 referred to above.
- requires: ANSI C Compiler
- contact: M.van.Leeuwen@cwi.nl
- updated: 1993/12/16
-
- language: Web
- package: web2c
- version: 5-851d
- parts: translator(C)
- author: ?
- location: ftp TeX/web2c.tar.Z from ics.uci.edu
- Europe: ftp pub/tex/src/web2c/web2c.tar.Z from ftp.th-darmstadt.de
- description:
- contact: Karl Berry <karl@claude.cs.umb.edu>
- updated: 1993/02/22
-
- language: Web
- package: Web
- version: ?
- parts: translator(Pascal)
- author: Donald Knuth
- location: ftp ? from labrea.stanford.edu
- description: Donald Knuth's programming language where you
- write the source and documentation together.
- requires: Pascal
- contact: ?
- updated: ?
-
- language: Web
- package: FunnelWeb
- version: ?
- parts: macro preprocessor, documentation, tests, ?
- author: Ross Williams <ross@spam.adelaide.edu.au>
- location: comp.sources.unix volume 26
- description: FunnelWeb is a production-quality literate-programming tool
- that emphasises simplicity and reliability. It provides a macro
- facility, and assists in the production of typeset
- documentation. Input-programming-language independent
- restriction: CopyLeft
- ports: Sun, Vax, Mac, PC
- updated: 1993/04/11
-
- logic programming languages
- -------------------------------------------------------------------------------
- category: logic programming languages
- description: languages designed to manipulate logic predicates. Often
- used to build expert systems
-
- language: BABYLON
- package: BABYLON
- version: 2.3
- parts: ai workbench (expert system development environment)
- author: members of GMD, FIT-KI
- location: ftp gmd/ai-research/Software/Babylon/* from ftp.gmd.de
- or in WWW from http://www.gmd.de/
- description: BABYLON is a development environment for expert systems. It
- includes frames, rules, constraints, a prolog-like logic
- formalism, and a description language for diagnostic
- applications (texi).
- reference: Christaller, T., Di Primio, F., Voss, A. (Hrsg.).
- Die KI-Werkbank Babylon.
- Eine offene und portable Entwicklungsumgebung fuer
- Expertensysteme. Addison-Wesley, 1989, ISBN 3-89319-155-0
- Christaller, T., Di Primio, F., Voss, A. (eds).
- The AI-Workbench BABYLON.
- An open and portable development environment for expert systems.
- Academic Press, London, 1992, ISBN 0-12-174235-0;
- Guesgen, H.-W.,
- CONSAT: A system for constraint satisfaction.
- Research Notes in Artificial Intelligence, Morgan Kaufman,
- San Mateo, 1989.
- requires: Common Lisp, works under:
- Macintosh Common Lisp, Franz Allegro, CLisp, CMU, AKCL etc.
- contact: juergen.walther@gmd.de
- updated: 1994/06/22
-
- language: Goedel
- package: Goedel
- version: 1.4
- parts: book, compiler, user manual, system modules, example programs
- author: Jiwei Wang <jiwei@lapu.bristol.ac.uk>
- location: ftp.cs.kuleuven.ac.be (134.58.41.2)
- /pub/logic-prgm/goedel/README
- ftp.cs.bris.ac.uk (137.222.102.102)
- /goedel/README
- both contain further pointers.
- description: An implementation of a significant subset of Goedel. Goedel is
- a declarative, general-purpose strongly-typed logic programming
- language. The type system is based on many-sorted logic with
- parametric polymorphism. Modularity is supported, as well as
- infinite precision arithmetic, limited constraint satisfaction,
- and finite sets.
- reference: The Goedel Programming Language, P.M. Hill & J.W. Lloyd,
- MIT Press, 1994, ISBN 0-262-08229-2.
- requires: SICStus Prolog version 2.1 #6 (or later). Run time system for
- SPARCstation provided, though.
- status: underging continuing development
- contact: goedel@compsci.bristol.ac.uk
- updated: 1994/05/16
-
- language: Mercury
- package: Mercury
- version: 0.3
- parts: compiler(->C), library, run-time, documentation, examples
- author: Fergus Henderson <fjh@cs.mu.oz.au>
- Thomas Conway <conway@cs.mu.oz.au>
- Zoltan Somogyi <zs@cs.mu.oz.au>
- and others
- location:
- Australia: ftp://ftp.cs.mu.oz.au/pub/mercury
- USA: ftp://ftp.cs.sunysb.edu/pub/XSB/mercury
- Europe: ftp://ftp.csd.uu.se/pub/Mercury
- description: a new, purely declarative logic programming language
- designed for the development of large applications
- by teams of programmers
- reference: see <http://www.cs.mu.oz.au/~zs/mercury.html>
- features: + no non-logical side-effects (even I/O is purely declarative)
- + strong polymorphic types
- + strong modes
- + determinism system
- + module system
- + supports higher-order programming
- + very efficient
- bugs: <mercury-bugs@cs.mu.oz.au>
- restriction: GNU Public Licence
- requires: GNU C >= 2.6.3 and GNU Make.
- ports: IRIX 5, Solaris, Ultrix, Alpha/OSF, Linux, BSD
- portability: should port to any POSIX-like system without too much trouble
- status: undergoing active development
- discussion: comp.lang.misc/comp.lang.prolog
- support: <mercury@cs.mu.oz.au>
- announcements: Mailing list (contact <mercury@cs.mu.oz.au> to subscribe).
- contact: <mercury@cs.mu.oz.au>
- updated: 1995/09
-
- language: Isabelle
- package: Issabelle-93
- version: ?
- parts: ?
- author: Written by Lawrence C Paulson and Tobias Nipkow?
- location: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp/ops5* from
- ftp.cs.cmu.edu
- description: Isabelle is a generic theorem prover. New logics are
- introduced by specifying their syntax and rules of inference.
- Proof procedures can be expressed using tactics and tacticals.
- The latest version, Isabelle-93, is significantly faster than
- Isabelle-92 and has several other improvements.
- requires: ?
- contact: Larry.Paulson@cl.cam.ac.uk
- Tobias.Nipkow@informatik.tu-muenchen.de?
- updated: 1993/12/20
-
- language: Janus
- package: qdjanus
- version: 1.3
- parts: translator(prolog)
- author: Saumya Debray <debray@cs.arizona.edu>
- location: ftp janus/qdjanus/* from cs.arizona.edu
- description: janus is a janus-to-prolog compiler meant to be used
- with Sicstus Prolog
- conformance: mostly compliant with "Programming in Janus" by
- Saraswat, Kahn, and Levy.
- updated: 1992/05/18
-
- language: Janus
- package: jc
- version: 1.50 alpha
- parts: compiler(->C)
- author: David Gudeman <gudeman@cs.arizona.edu>
- location: ftp janus/jc/* from cs.arizona.edu
- description: jc is a janus-to-C compiler (considerably faster than qdjanus).
- jc is a _sequential_ implementation of a _concurrent_ language.
- bugs: jc-bugs@cs.arizona.edu
- ports: sun-4, sun-3, Sequent Symmetry
- status: jc is an experimental system, undergoing rapid development.
- It is in alpha release currently.
- discussion: janusinterest-request@parc.xerox.com
- updated: 1992/06/09
-
- language: LIFE (Logic, Inheritance, Functions, and Equations)
- package: Wild_LIFE
- version: first-release
- parts: interpreter, manual, tests, libraries, examples
- author: Paradise Project, DEC Paris Research Laboratory.
- location: ftp pub/plan/Life.tar.Z from gatekeeper.dec.com.
- description: LIFE is an experimental programming language with a
- powerful facility for structured type inheritance. It
- reconciles styles from functional programming, logic
- programming, and object-oriented programming. LIFE
- implements a constraint logic programming language with
- equality (unification) and entailment (matching)
- constraints over order-sorted feature terms. The
- Wild_LIFE interpreter has a comfortable user interface
- with incremental query extension ability. It contains
- an extensive set of built-in operations as well as an X
- Windows interface.
- conformance: semantic superset of LOGIN and LeFun. Syntax is similar
- to prolog.
- bugs: life-bugs@prl.dec.com
- ports: MIPS-Ultrix
- portability: good in theory
- discussion: life-request@prl.dec.com
- contact: Peter Van Roy <vanroy@prl.dec.com>
- updated: 1992/12/14
-
- language: Lolli (logic programming)
- package: Lolli
- version: ?
- parts: ?
- author: ? Josh Hodas <hodas@saul.cis.upenn.edu> ?
- location: ftp pub/Lolli/Lolli-07.tar.Z. from ftp.cis.upenn.edu
- description: Lolli is an interpreter for logic programming based
- on linear logic principles.
- Lolli can be viewed as a refinement of the the
- Hereditary Harrop formulas of Lambda-Prolog. All the
- operators (though not the higher order unification) of
- Lambda-Prolog are supported, but with the addition of
- linear variations. Thus a Lolli program distinguishes
- between clauses which can be used as many, or as few,
- times as desired, and those that must be used exactly once.
- requires: ML
- updated: 1992/11/08
-
- language: Parlog
- package: SPM System (Sequential Parlog Machine)
- version: ?
- parts: ?, documenation
- author: ?
- location: ? ftp lang/Parlog.tar.Z from nuri.inria.fr
- description: a logic programming language ?
- reference: Steve Gregory, "Parallel Logic Programming in PARLOG",
- Addison-Wesely, UK, 1987
- restriction: ? no source code ?
- ports: Sun-3 ?
- updated: ??
-
- language: Prolog
- package: SB-Prolog
- version: 3.1 ?
- parts: ?
- author: interpreter
- location: ftp pub/sbprolog from sbcs.sunysb.edu
- description: ?
- restriction: GNU General Public License
- contact: ? warren@sbcs.sunysb.edu ?
- updated: ?
-
- language: Prolog
- package: XSB
- version: 1.2
- parts: interpreter, preprocessor(HiLog), documentation
- author: XSB research group / SUNY at Stony Brook
- location: ftp pub/XSB/XSB.tar.Z from sbcs.sunysb.edu (130.245.1.15)
- description: XSB extends the standard functionality of Prolog (being a
- descendant of PSB- and SB-Prolog) to include implementations of
- OLDT (tabling) and HiLog terms. OLDT resolution is extremely
- useful for recursive query computation, allowing programs to
- terminate correctly in many cases where Prolog does not. HiLog
- supports a type of higher-order programming in which predicate
- symbols can be variable or structured. This allows unification
- to be performed on the predicate symbols themselves in addition
- to the arguments of the predicates. Of course, Tabling and
- HiLog can be used together.
- ports: Sun, Solaris, NeXT, Linux, 386 BSD, IRIX, HP-UX
- portability: Generally to 32-bit machines.
- contact: xsb-contact@cs.sunysb.edu
- updated: 1993/07/28
-
- language: Prolog
- package: Modular SB-Prolog
- version: ?
- parts: interpreter
- author: ?
- location: ftp pub/dts/mod-prolog.tar.Z from ftp.dcs.ed.ac.uk
- description: SB-Prolog version 3.1 plus modules
- restriction: GNU General Public License
- ports: Sparc
- contact: Brian Paxton <mprolog@dcs.ed.ac.uk>
- updated: ?
-
- language: ALF [prolog variant]
- package: alf (Algebraic Logic Functional programming language)
- version: ?
- parts: runtime, compiler(Warren Abstract Machine)
- author: Rudolf Opalla <opalla@julien.informatik.uni-dortmund.de>
- location: ftp pub/programming/languages/LogicFunctional from
- ftp.germany.eu.net
- description: ALF is a language which combines functional and
- logic programming techniques. The foundation of
- ALF is Horn clause logic with equality which consists
- of predicates and Horn clauses for logic programming,
- and functions and equations for functional programming.
- Since ALF is an integration of both programming
- paradigms, any functional expression can be used
- in a goal literal and arbitrary predicates can
- occur in conditions of equations.
- updated: 1992/10/08
-
- language: CLP (Constraint Logic Programming language) [Prolog variant]
- package: CLP(R)
- version: 1.2
- parts: runtime, compiler(byte-code), contstraint solver
- author: IBM
- location: mail to Joxan Jaffar <joxan@watson.ibm.com>
- description: CLP(R) is a constraint logic programming language
- with real-arithmetic constraints. The implementation
- contains a built-in constraint solver which deals
- with linear arithmetic and contains a mechanism
- for delaying nonlinear constraints until they become
- linear. Since CLP(R) subsumes PROLOG, the system
- is also usable as a general-purpose logic programming
- language. There are also powerful facilities for
- meta programming with constraints. Significant
- CLP(R) applications have been published in diverse
- areas such as molecular biology, finance, physical
- modelling, etc. We are distributing CLP(R) in order
- to help widen the use of constraint programming, and
- to solicit feedback on the system
- restriction: free for academic and research purposes only
- ports: unix, msdos, OS/2
- contact: Roland Yap <roland@bruce.cs.monash.edu.au>, Joxan Jaffar
- updated: 1992/10/14
-
- language: Prolog + constraints over Finite Domains and Booleans
- package: clp(FD)
- version: 2.2
- parts: compiler clp(FD)->C, FD solver, runtime, debugger.
- author: Daniel Diaz - INRIA Rocquencourt - FRANCE
- location: ftp ftp.inria.fr in the directory
- /INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/clp_fd
- description: clp(FD) is a constraint logic programming language
- over Finite Domains. clp(FD) is based on the wamcc
- Prolog compiler which translates Prolog to C.
- clp(FD) provides several constraints "a la CHIP" on
- Finite Domains and Booleans and some facilities to
- build new constraints. clp(FD) is 4 times faster than
- CHIP v3.2 on average.
- restriction: free (see COPYRIGHT notice)
- requires: GNU C (gcc) version 2.4.5 or higher
- ports: Sparc workstations, PC under linux, sony mews, dec ultrix
- portability: Generally to 32-bit machines with gcc.
- contact: Daniel Diaz (Daniel.Diaz@inria.fr)
- updated: 1994/08/01
-
- language: Prolog
- package: wamcc
- version: 2.2
- parts: compiler Prolog->C, runtime, Prolog debugger, WAM debugger.
- author: Daniel Diaz - INRIA Rocquencourt - FRANCE
- location: ftp ftp.inria.fr in the directory
- /INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/wamcc
- description: wamcc is a Prolog Compiler which translates Prolog to
- C via the WAM. wamcc has a syntax very close to the
- future ansi standard. wamcc offers the most usual
- built-in predicates, a top-level, a Prolog debugger and a
- WAM debugger. wamcc is designed to be easily extended
- (e.g. see clp(FD)).
- From an efficiency point of view, wamcc is between
- SICStus "emulated" and SICStus "native code" on Sparc
- machines (1.5 times faster than SICStus emulated, 1.5
- times slower than SICStus "native code").
- restriction: free (see COPYRIGHT notice)
- requires: GNU C (gcc) version 2.4.5 or higher
- ports: Sparc workstations, PC under linux, sony mews, dec ultrix
- portability: Generally to 32-bit machines with gcc.
- contact: Daniel Diaz (Daniel.Diaz@inria.fr)
- updated: 1994/08/01
-
- language: Prolog (variant)
- package: Aditi
- version: Beta Release
- parts: interpreter, database
- author: Machine Intelligence Project, Univ. of Melbourne, Australia
- location: send email to aditi@cs.mu.oz.au
- description: The Aditi Deductive Database System is a multi-user
- deductive database system. It supports base relations
- defined by facts (relations in the sense of relational
- databases) and derived relations defined by rules that
- specify how to compute new information from old
- information. Both base relations and the rules
- defining derived relations are stored on disk and are
- accessed as required during query evaluation. The
- rules defining derived relations are expressed in a
- Prolog-like language, which is also used for expressing
- queries. Aditi supports the full structured data
- capability of Prolog. Base relations can store
- arbitrarily nested terms, for example arbitrary length
- lists, and rules can directly manipulate such terms.
- Base relations can be indexed with B-trees or
- multi-level signature files. Users can access the
- system through a Motif-based query and database
- administration tool, or through a command line
- interface. There is also in interface that allows
- NU-Prolog programs to access Aditi in a transparent
- manner. Proper transaction processing is not supported
- in this release.
- ports: Sparc/SunOS4.1.2 Mips/Irix4.0
- contact: <aditi@cs.mu.oz.au>
- updated: 1992/12/17
-
- language: Lambda-Prolog
- package: Prolog/Mali (PM)
- version: ? 6/23/92 ?
- parts: compiler(->C), linker, libraries, runtime, documentation
- author: Pascal Brisset <brisset@irisa.fr>
- location: ftp pm/* from ftp.irisa.fr
- description: Lambda-Prolog, a logic programming language defined by
- Miller, is an extension of Prolog where terms are
- simply typed $\lambda$terms and clauses are higher
- order hereditary Harrop formulas. The main novelties
- are universal quantification on goals and implication.
- reference: Miller D.A. and Nadathur G. "Higher-order logic
- programming", 3rd International Conference on Logic
- Programming, pp 448-462, London 1986.
- Nadathur G. "A Higher-Order Logic as a Basis for Logic
- Programming", Thesis, University of Pennsylvania, 1987.
- requires: MALI-V06 abstract memory. MALI is available by anonymous ftp
- from ftp.irisa.fr
- ports: unix
- discussion: prolog-mali-request@irisa.fr
- contact: pm@irisa.fr
- updated: 1992/07/06
-
- language: Prolog (variant)
- package: CORAL
- version: ?
- parts: interpreter, interface(C++), documentation
- author: ?
- location: ftp ? from ftp.cs.wisc.edu
- description: The CORAL deductive database/logic programming system was
- developed at the University of Wisconsin-Madison. The CORAL
- declarative language is based on Horn-clause rules with
- extensions like SQL's group-by and aggregation operators, and
- uses a Prolog-like syntax. * Many evaluation techniques are
- supported, including bottom-up fixpoint evaluation and top-down
- backtracking. * A module mechanism is available. Modules are
- separately compiled; different evaluation methods can be used
- in different modules within a single program. * Disk-resident
- data is supported via an interface to the Exodus storage
- manager. * There is an on-line help facility
- requires: AT&T C++ 2.0 (G++ soon)
- ports: Decstation, Sun4
- updated: 1993/01/29
-
- language: Prolog
- package: BinProlog
- version: 1.71
- parts: interpreter?, documentation
- author: ?
- location: ftp BinProlog/* from clement.info.umoncton.ca
- description: BinProlog 1.71 is at this time probably the
- fastest freely available C-emulated Prolog.
- ports: IBM-PC/386, Sun-4, Sun-3, NeXT
- contact: Paul Tarau <tarau@info.umoncton.ca>
- updated: 1993/04/03
-
- language: Prolog
- package: SWI-Prolog
- version: 1.7.2
- parts: ?
- author: Jan Wielemaker <jan@swi.psy.uva.nl>
- location: ftp pub/SWI-Prolog from swi.psy.uva.nl
- OS/2: ftp pub/toolw/SWI/* from mpii02999.ag2.mpi-sb.mpg.de
- description: ?
- conformance: superset
- features: "very nice Ed. style prolog, best free one I've seen"
- restriction: GNU General Public License
- ports: Sun-4, Sun-3 (complete); Linux, DEC MIPS (done but
- incomplete, support needed); RS6000, PS2/AIX, Atari ST,
- Gould PN, NeXT, VAX, HP-UX (known problems, support needed);
- MSDOS (status unknown), OS/2
- status: activly developed
- discussion: prolog-request@swi.psy.uva.nl
- contact: (OS/2) Andreas Toenne <atoenne@mpi-sb.mpg.de>
- updated: 1993/07/23
-
- language: Prolog
- package: Beta-Prolog
- version: 1.5
- parts: interpreter(?), libraries, debugger
- author: Neng-Fa Zhou <zhou@mse.kyutech.ac.jp>
- form "Real Name <email@address>". Surface mail addresses
- are not used unless there is no email address.
- location: ftp pub/Language/prolog/* from ftp.kyutech.ac.jp
- description: ?
- conformance: Incorporates most built-in predicates in ISO-Prolog.
- updated: 1995/04/05
-
- language: Prolog
- package: Frolic
- version: ?
- parts: ?
- author: ?
- location: ftp pub/frolic.tar.Z from cs.utah.edu
- description: ?
- requires: Common Lisp
- contact: ?
- updated: 1991/11/23
-
- language: Prolog
- package: ? Prolog package from the University of Calgary ?
- version: ?
- parts: ?
- author: ?
- location: ftp pub/prolog1.1/prolog11.tar.Z from cpsc.ucalgary.ca
- description: + delayed goals
- + interval arithmetic
- requires: Scheme
- portability: relies on continuations
- contact: ?
- updated: ?
-
- language: Prolog
- package: ? slog ?
- version: ?
- parts: translator(Prolog->Scheme)
- author: dorai@cs.rice.edu
- location: ftp public/slog.sh from titan.rice.edu
- description: macros expand syntax for clauses, elations etc, into Scheme
- ports: Chez Scheme
- portability: reliese on continuations
- updated: ?
-
- language: Prolog
- package: LM-PROLOG
- version: ?
- parts: ?
- author: Ken Kahn and Mats Carlsson
- location: ftp archives/lm-prolog.tar.Z from sics.se
- description: ?
- requires: ZetaLisp
- contact: ?
- updated: ?
-
- language: Prolog
- package: Open Prolog
- version: 1.0.3d22
- parts: interpreter, examples
- author: Michael Brady <beady@cs.tcd.ie>
- location: ftp /pub/languages/open-prolog/* from ftp.cs.tcd.ie
- description: Text-oriented Prolog system for the Macintosh (Edimburgh
- syntax), with a MPW-like worksheet as the main user
- interface.
- features: + supports most the features of DEC Prolog or C-Prolog
- including Definite Clause Grammars
- + support disjunctive calls, negation, if-then and
- if-then-else according to the draft ISO Prolog standard
- + supports program-originated catch-and-throw exception
- handling conforming to the ISO Draft
- - Real-number arithmetic and internal database predicates
- are not supported.
- + built-in predicates to manage Macintosh dialogs
- ports: Macintosh
- contributions: send a postcard
- contact: Michael Brady <brady@cs.tcd.ie>
- updated: 1995/06/19
-
- language: Prolog
- package: UPMAIL Tricia Prolog
- version: ?
- parts: ?
- author: ?
- location: ftp pub/Tricia/README from ftp.csd.uu.se
- description: ?
- contact: <tricia-request@csd.uu.se>
- updated: ?
-
- language: Prolog
- package: ?; ? (two systems)
- version: ?; ?
- parts: ?; ?
- author: ?
- location: ftp ai.prolog/Contents from aisun1.ai.uga.edu
- description: ?; ?
- ports: MSDOS, Macintosh; MSDOS
- contact: Michael Covington <mcovingt@uga.cc.uga.edu>
- updated: ?; ?
-
- language: Prolog
- package: XWIP (X Window Interface for Prolog)
- version: 0.6
- parts: library
- author: ?
- location: ftp contrib/xwip-0.6.tar.Z from export.lcs.mit.edu
- description: It is a package for Prologs following the Quintus foreign
- function interface (such as SICStus). It provides a (low-level)
- Xlib style interface to X. The current version was developed
- and tested on SICStus 0.7 and MIT X11 R5 under SunOS 4.1.1.
- portability: It is adaptable to many other Unix configurations.
- contact: xwip@cs.ucla.edu
- updated: 1993/02/25
-
- language: Prolog
- package: PI
- version: ?
- parts: library
- author: ?
- location: ftp pub/prolog/ytoolkit.tar.Z from ftp.ncc.up.pt
- description: PI is a interface between Prolog applications and XWindows that
- aims to be independent from the Prolog engine, provided that it
- has a Quintus foreign function interface (such as SICStus,
- YAP). It is mostly written in Prolog and is divided in two
- libraries: Edipo - the lower level interface to the Xlib
- functions; and Ytoolkit - the higher level user interface
- toolkit
- contact: Ze' Paulo Leal <zp@ncc.up.pt>
- updated: 1993/03/02
-
- language: Prolog
- package: ISO draft standard
- version: ? (What year??)
- parts: language definition
- author: ?
- location: ftp ? from ftp.th-darmstadt.de
- description: ?
- updated: 1992/07/06
-
- language: Prolog
- iref: (Prolog) Tim Budd's C++ implementation of Kamin's interpreters
-
- language: OPS5
- package: PD OPS5
- version: ?
- parts: interpreter
- author: Written by Charles L. Forgy and ported to Common Lisp by
- George Wood and Jim Kowalski.
- location: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp/ops5* from
- ftp.cs.cmu.edu
- description: Public domain implementation of an OPS5 interpreter. OPS5 is
- a programming language for rule-based production systems.
- A rule consists of pre-condition(s) and the resulting
- action. The system as a whole acts first checking the
- status of system in its working memory and matches the
- rules to see if there are rules that are satisfied,
- and then the action in one selected satisfied rule is
- executed.
- There is a commercial version available called OPS83.
- Please contact the author for information.
- requires: Common Lisp
- contact: ? Mark Kantrowitz <mkant+@cs.cmu.edu> ?
- updated: 1992/10/17
-
-
- concurrent, parallel, and simulation languages
- -------------------------------------------------------------------------------
- category: concurrent, parellel, and simulation languages
- description: This is a fairly broad category of languages. Most of the
- implementations in this set are not good enough to be used in
- production systems. Some are. In addition to those listed
- below, see:
- lref: Concurrent Clean
- lref: Concurrent ML
- lref: EuLisp
- lref: Parallaxis
- lref: Maisie
- lref: uC++
- lref: MeldC
- lref: pm2
- lref: Simula 67
- iref: (Tcl) MTtcl - Multi-threaded Tcl
-
- language: ABCL/1 (An object-Based Concurrent Language)
- package: ABCL/1
- version: ?
- parts: ?
- author: Akinori Yonezawa, ABCL Group now at Department of Information
- Science, the University of Tokyo
- location: ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
- description: Asynchronous message passing to objects.
- reference: "ABCL: An Object-Oriented Concurrent System", Edited by
- Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
- restriction: no commercial use, must return license agreement
- requires: Common Lisp
- contact: abcl@is.s.u-tokyo.ac.jp
- updated: 1990/05/23
-
- language: ABCL ???
- package: ABCL/R2
- version: ?
- parts: ?
- author: masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
- takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
- location: ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
- description: ABCL/R2 is an object-oriented concurrent reflective language
- based on Hybrid Group Architecture. As a reflective language,
- an ABCL/R2 program can dynamically control its own behavior,
- such as scheduling policy, from within user-program. An an
- object-oriented concurrent language, this system has almost all
- functions of ABCL/1.
- requires: Common Lisp
- updated: 1993/01/28
-
- language: ALLOY
- package: ALLOY
- version: 2.0?
- parts: interpreter, documentation, examples
- author: Thanasis Mitsolides <mitsolid@cs.nyu.edu>
- location: ftp pub/local/alloy/* from cs.nyu.edu
- description: ALLOY is a higher level parallel programming language
- appropriate for programming massively parallel computing
- systems. It is based on a combination of ideas from
- functional, object oriented and logic programming languages.
- The result is a language that can directly support
- functional, object oriented and logic programming styles
- in a unified and controlled framework. Evaluating modes
- support serial or parallel execution, eager or lazy
- evaluation, non-determinism or multiple solutions etc.
- ALLOY is simple as it only requires 29 primitives in all
- (half of which for Object Oriented Programming support).
- ports: sparc, ?
- updated: 1991/06/11
-
- language: Cellang (Cellular Automata)
- package: Cellular
- version: 2.0
- parts: byte-code compiler, runtime, viewer
- author: J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
- location: comp.sources.unix, volume 26
- description: A system for cellular automata programming.
- updated: 1993/04/03
-
- language: Hermes
- package: IBM Watson prototype Hermes system
- version: 0.8alpha patchlevel 01
- parts: bytecode compiler, compiler(bytecode->C), runtime
- author: Andy Lowry <lowry@watson.ibm.com>
- location: ftp pub/hermes/README from software.watson.ibm.com
- description: Hermes is a very-high-level integrated language and
- system for implementation of large systems and
- distributed applications, as well as for
- general-purpose programming. It is an imperative,
- strongly typed, process-oriented language. Hermes
- hides distribution and heterogeneity from the
- programmer. The programmer sees a single abstract
- machine containing processes that communicate using
- calls or sends. The compiler, not the programmer,
- deals with the complexity of data structure layout,
- local and remote communication, and interaction with
- the operating system. As a result, Hermes programs are
- portable and easy to write. Because the programming
- paradigm is simple and high level, there are many
- opportunities for optimization which are not present in
- languages which give the programmer more direct control
- over the machine.
- reference: Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
- Language for Distributed Computing. Prentice-Hall, Englewood
- Cliffs, NJ. 1991. ISBN: O-13-389537-8.
- ports: RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
- discussion: comp.lang.hermes
- updated: 1992/03/22
-
- language: ICC++ (Illinois Concert C++) and CA (Concurrent Aggregates)
- package: Illinois Concert System
- version: 3.0
- parts: compiler(->C++), interpreter, symbolic debugger, parallel
- runtime simulator, parallel implementation on TMC CM5,
- Cray T3D
- author: Various, concert@red-herring.cs.uiuc.edu
- location: http://www-csag.cs.uiuc.edu/projects/concert.html
- description: The Concert System incorporates global analysis for
- parallel object-oriented languages, including
- aggressive concrete type inference. In addition, it
- include an extremely lightweight communication and
- threading library (compiler-supported). The
- implementation supports both a parallel C++ and
- a simple parallel object-oriented language called
- Concurrent aggregates.
- conformance: ICC++ and CA documentation available from the web site.
- reference: Andrew Chien, et. al. The Concert System -- Compiler and
- Runtime Support for Efficient Fine-Grained Concurrent
- Object-Oriented Programs, Department of Computer Science,
- University of Illinois, Urbana, Illinois, Technical
- Report UIUCDCS-R-93-1815, June 1993.
- (Others are available also)
- bugs: concert@red-herring.cs.uiuc.edu
- restriction: redistribution is restricted
- announcements: where new releases are announced
- contact: Andrew Chien achien@cs.uiuc.edu
- updated: 1995/05/07 Version 3.0
- lref: C++
-
- language: OCCAM 2 (A parallel, concurrent, distributed language)
- package: D7202-oc / TDS
- version: ?
- parts: compiler & full toolset system
- author: INMOS Ltd.
- location: ftp://unix.hensa.ac.uk/pub/parallel/occam/compilers/inmos
- http://www.hensa.ac.uk/parallel/occam/compilers/inmos/index.html
- requires: INMOS OCCAM compiler D7202 from:
- ftp://unix.hensa.ac.uk/pub/parallel/occam/compilers/inmos/oc
- ports: Sun4 (DEC Alpha and Motorola PowerPC to follow)
- portability: Sparc processor only at present
- status: actively developed, supported
- discussion: comp.sys.transputer, <ofa-com-request@ukc.ac.uk>
- contact: Occam For All Team <ofa-bugs@ukc.ac.uk>
- updated: 4-May-1995
-
- language: OCCAM 2 (A parallel, concurrent, distributed language)
- package: SPOC (Southampton Portable Occam Compiler)
- version: 1.1
- parts: compiler(->C), run-time system, documentation, tools, examples
- author: Denis Nicole <dan@ecs.soton.ac.uk>,
- Sean Wykes <smw@ecs.soton.ac.uk>,
- Mark Debbage <md@pact.srf.ac.uk>,
- Mark Hill <mbh@pact.srf.ac.uk>
- location: ftp://ftp.ecs.soton.ac.uk/pub/occam/spoc1.1
- ftp://unix.hensa.ac.uk/pub/parallel/occam/compilers/spoc
- http://www.hensa.ac.uk/parallel/occam/compilers/spoc/index.html
- description: supports the OCCAM 2 programming language.
- conformance: Full implementation of OCCAM 2
- reference: "OCCAM 2 reference manual", INMOS ltd, Prentice-Hall
- International, ISBN 0-13-629312-3
- features: The system generates ANSI-C code, implementing efficient
- portable concurrency running on a single target processor.
- Supports cross-linking with NAG Fortran-90 compiler.
- restriction: GPL'ed
- requires: C compiler, gmd compiler tools (available with compiler
- sources) (Sun4 binaries available)
- ports: Sun3, Sun4
- portability: ? Should work on most UNIXes
- status: actively developed, supported
- discussion: comp.sys.transputer
- contact: Dr Denis A Nicole <dan@ecs.soton.ac.uk>
- updated: 1-March-1994
-
- language: PCN
- package: PCN
- version: 2.0
- parts: compiler?, runtime, linker, libraries, tools, debugger,
- profiler, tracer
- author: Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
- <tuecke@mcs.anl.gov>, and others
- location: ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
- description: PCN is a parallel programming system designed to improve
- the productivity of scientists and engineers using parallel
- computers. It provides a simple language for specifying
- concurrent algorithms, interfaces to Fortran and C, a
- portable toolkit that allows applications to be developed
- on a workstation or small parallel computer and run
- unchanged on supercomputers, and integrated debugging and
- performance analysis tools. PCN was developed at Argonne
- National Laboratory and the California Institute of
- Technology. It has been used to develop a wide variety of
- applications, in areas such as climate modeling, fluid
- dynamics, computational biology, chemistry, and circuit
- simulation.
- ports: (workstation nets): Sun4, NeXT, RS/6000, SGI
- (multicomputers): iPSC/860, Touchstone DELTA
- (shared memory multiprocessors): Symmetry/Dynix
- contact: <pcn@mcs.anl.gov>
- updated: 1993/02/12
-
- language: LOOPN
- package: LOOPN
- version: ?
- parts: compiler?, simulator
- author: ?
- location: ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
- description: I wish to announce the availability of a compiler, simulator
- and associated source control for an object-oriented petri net
- language called LOOPN. In LOOPN, a petri net is an extension
- of coloured timed petri nets. The extension means firstly that
- token types are classes. In other words, they consist of both
- data fields and functions, they can be declared by inheriting
- from other token types, and they can be used polymorphically.
- The object-oriented extensions also mean that module or subnet
- types are classes. LOOPN has been developed over a period of
- about 5 years at the University of Tasmania, where it has been
- used in teaching computer simulation and the modelling of
- network protocols. A petri net is a directed, bipartite graph;
- nodes are either places (represented by circles) or transitions
- (represented by rectangles). A net is marked by placing tokens
- on places. When all the places pointing to a transition (the
- input places) have a token, the net may be fired by removing a
- token from each input place and adding a token to each place
- pointed to by the transition (the output places). Petri nets
- are used to model concurrent systems, particularly in the
- network protocol area.
- contact: Charles Lakos <charles@probitas.cs.utas.edu.au>
- updated: 1992/12/20
-
- language: Simula
- package: Lund Simula
- version: 4.07
- parts: ?
- author: ?
- location: ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
- description: ?
- contact: Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
- updated: 1992/05/22
-
- language: SR (Synchronizing Resources)
- package: sr
- version: 2.0
- parts: ?, documentation, tests
- author: ?
- location: ftp sr/sr.tar.Z from cs.arizona.edu
- description: SR is a language for writing concurrent programs.
- The main language constructs are resources and
- operations. Resources encapsulate processes and
- variables they share; operations provide the primary
- mechanism for process interaction. SR provides a novel
- integration of the mechanisms for invoking and
- servicing operations. Consequently, all of local and
- remote procedure call, rendezvous, message passing,
- dynamic process creation, multicast, and semaphores are
- supported.
- reference: "The SR Programming Language: Concurrency in Practice",
- by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings
- Publishing Company, 1993, ISBN 0-8053-0088-0
- ports: Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
- NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
- Apollo, and others.
- discussion: info-sr-request@cs.arizona.edu
- contact: sr-project@cs.arizona.edu
- updated: 1992/09/01
-
- language: UNITY
- package: MasPar Unity
- version: 1.0
- parts: translator(UNITY->MPL), documentation
- author: Martin Huber, University of Karlsruhe, Germany
- location: ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
- description: ?
- contact: Lutz Prechelt <prechelt@ira.uka.de>
- updated: ?
-
- language: UNITY
- package: HOL-UNITY
- version: 2.1
- parts: verification tool
- author: ?
- location: ?
- description: ?
- contact: Flemming Andersen <fa@tfl.dk> ?
- updated: ?
-
- Forth family languages
- -------------------------------------------------------------------------------
- category: Forth family languages
- description: These are the stack-based postfix languages, usually
- interpreted, descended from the FORTH language originally
- developed for telescope control.
- lref: Postscript
- iref: (mc6809) 6809, E-Forth
-
- language: Forth
- package: TILE Forth
- version: 2.1
- parts: interpreter
- author: Mikael Patel <mip@sectra.se>
- location: ftp tile-forth-2.1.tar.Z from a GNU archive site
- description: Forth interpreter in C; many Forth libraries
- conformance: Forth83
- restriction: shareware/GPL
- ports: unix
- updated: 1991/11/13
-
- language: Forth
- package: cforth
- version: ?
- parts: interpreter
- author: ?
- location: comp.sources.unix archive volume 1
- description: ?
- updated: ?
-
- language: Forth
- package: pfe (Portable Forth Environment)
- version: 0.9.4
- parts: ?
- author: Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
- location: ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
- description: A Forth development system that tries to be correct,
- complete, portable, usable and simple. It doesn't try too
- hard to be fast.
- conformance: all dpANS word sets
- ports: Linux, RS/6000, HP-UX
- portability: high
- updated: 1994/05/02
-
- language: Forth
- package: F68K
- version: ?
- parts: ?
- author: ?
- location: ftp atari/Languages/f68k.* from archive.umich.edu
- description: a portable Forth system for Motorola 68k computers
- ports: Atari ST/TT, Amiga, Sinclair QL and OS9
- portability: very high for 68000 based systems
- contact: Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
- updated: 1992/12/14
-
- language: Forth
- package: 51forth
- version: ?
- parts: ?
- author: Scott Gehmlich
- location: ftp giovanni/51forth.zip from [130.123.96.9]
- description: source and documentation for a 8051 subroutine-
- threaded forth
- contact: ?
- updated: 1993/04/03
-
- language: Forth
- package: M4th
- version: ?
- parts: interpreter, kernel, editor, application (8086 assembler),
- hypertext-based documentation, decompiler
- author: Nils M. Holm <fs29@rummelplatz.uni-mannheim.de>
- location: ftp.uni-stuttgart.de:/pub/systems/pc/lang/forth/m4th10.zip
- description: A small Forth implementation
- ports: MSDOS.
- updated: 1994/06/28
-
- language: Forth
- package: ThisForth
- version: ?
- author: ?
- location: ftp pub/wilbaden/this4th-00B01.MAC.sit.* from ftp.netcom.com
- description: ThisForth has been built for Macintosh and PowerMac.There is
- still a single source for all incarnations. For now there is
- just a console interface for the Mac and PowerMac.
- ports: Macintosh, PowerMac
- updated: 1994/09/20
-
- language: Mops
- package: Mops
- version: 2.6
- parts: compiler, assembler, documentation, editor
- author: Michael Hore <mikeh@zeta.org.au>
- location: ftp://taygeta.oc.nps.navy.mil/pub/Forth/Mops/Mops26s.sea
- ftp pub/MAC/Yerk from astro.uchicago.edu
- description: Like Yerk, Mops is descended from the ex-commercial
- object-oriented language Neon. Mops features an
- optimizing native-code compiler; it is much faster
- than Yerk, but less compatible with Neon. Mops
- includes extensions such as multiple inheritance.
- conformance: Includes a prologue for ANSI Forth.
- features: + classes for all the standard Mac interface items
- + can produce double-clickable applications
- + extremely fast edit-compile cycle
- + includes a PowerPC assembler
- ports: Macintosh
- updated: ?
-
- language: Kevo (Forth-like)
- package: kevo
- version: 0.9b6
- parts: interpreter, demo programs, user's guide, papers
- author: Antero Taivalsaari <tsaari@cs.uta.fi>
- location: ftp /pub/kevo/* from cs.uta.fi
- description: Kevo is a prototype-based object-oriented language for
- Macintosh Kevo features a unique prototype-based object model
- (which is based neither on classes nor Self-style delegation),
- multitasking (both preemptive and cooperative), dynamic memory
- management, and an icon-based object browser and editor modeled
- loosely after Mac Finder. Kevo has been built around a portable
- threaded code interpreter, and is syntactically a close
- derivative of Forth.
- ports: Macintosh
- contact: kevo-interest@ursamajor.uvic.ca
- updated: 1993/05/18
-
- language: Yerk
- package: Yerk
- version: 3.62
- parts: ?
- author: ?
- location: ftp pub/Yerk/? from oddjob.uchicago.edu
- description: Yerk is an object oriented language based on a
- Forth Kernel with some major modifications. It
- was originally known as Neon, developed and sold
- as a product by Kriya Systems from 1985 to 1989.
- Several of us at The University of Chicago have
- maintained Yerk since its demise as a product.
- Because of the possible trademark conflict that
- Kriya mentions, we picked the name Yerk, which is
- at least not an acronym for anything, but rather
- stands for Yerkes Observatory, part of the Department
- of Astronomy and Astrophysics at U of C.
- updated: ?
-
- compiler generators and related tools
- -------------------------------------------------------------------------------
- category: compiler generators and related tools
- description: Yacc, and the rest of its family
-
- language: ABC
- package: Grammar analysis tools
- version: 1
- parts: analysis tools, samples, documentation
- author: Steven Pemberton <Steven.Pemberton@cwi.nl>
- location: ftp /pub/abc/examples/grammar/* from ftp.cwi.nl
- or http://www.cwi.nl/~steven/abc/examples/grammar
- description: Grammar analysis program written in ABC (q.v.) for
- answering such questions as "what are the start
- symbols of all rules", "what symbols can follow this
- symbol", "which rules are left recursive", and so on.
- Includes a grammar of ISO Pascal.
- reference: Ftp archive includes an article explaining the package.
- ports: unix, MSDOS, atari, mac
- contact: Steven.Pemberton@cwi.nl
- updated: 1993/07/05
-
- language: ? attribute grammar ?
- package: Alpha
- version: pre-release
- parts: semantic-analysis generator?, documentation(german)
- author: Andreas Koschinsky <koschins@cs.tu-berlin.de>
- location: from author
- description: I have written a compiler generator. The generator is called
- Alpha and uses attribute grammars as specification calculus.
- Alpha is the result of a thesis at Technische Universitaet
- Berlin. I am looking for someone who would like to test and use
- Alpha. Alpha generates compilers from a compiler
- specification. This specification describes a compiler in
- terminology of attribute grammars. Parser and Scanner are
- generated by means of Bison and Flex. Alpha generates an
- ASE-evaluator (Jazayeri and Walter). The documentation is in
- german since it is a thesis at a german university.
- updated: 1993/02/16
-
- language: attribute-grammar extension of Yacc and Lex
- package: Ox
- version: G1.01
- parts: Yacc/Lex/C preprocessor, tutorial, reference manual,
- man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
- Fortran)
- author: Kurt Bischoff <bischoff@cs.iastate.edu>
- location: ftp pub/ox/* from ftp.cs.iastate.edu
- description: Ox generalizes the function of Yacc in the way that attribute
- grammars generalize context-free grammars. Ordinary Yacc and
- Lex specifications may be augmented with definitions of
- synthesized and inherited attributes written in C syntax. Ox
- checks these specifications for consistency and completeness,
- and generates from them a program that builds and decorates
- attributed parse trees. Ox accepts a most general class of
- attribute grammars. The user may specify postdecoration
- traversals for easy ordering of side effects such as code
- generation. Ox handles the tedious and error-prone details of
- writing code for parse-tree management, so its use eases
- problems of security and maintainability associated with that
- aspect of translator development. Ox is a preprocessor,
- and extends the syntax and semantics of Yacc, Lex, and C.
- reference: Most compiler textbooks have descriptions of attribute
- grammars.
- features: LALR(1), semantic-analyzer generation.
- bugs: none known. Report bugs to ox-project@cs.iastate.edu.
- restriction: Use of Ox is free. Ox-generated code is the property of
- the Ox user.
- ports: Unix
- contact: ox-request@cs.iastate.edu
- updated: 1993/11/14
-
- language: attribute grammar
- package: Rie
- version: 1.0.6
- parts: compiler generator, attribute evaluator generator
- author: Masataka Sassa, Kazuhiro Kuroishi, Teruhisa Hirai and
- Yoshiki Ohshima
- location: ftp pub/Rie/* from ftp.is.titech.ac.jp
- description: Rie is a yet another compiler generator which is based on
- a one-pass attribute grammar called ECLR-attributed grammar.
- ECLR-attributed grammar is a superset of LR-attributed
- grammar, and the generated compiler can evaluate both
- inherited and synthesized attributes in parallel with LR
- parsing without creating a parse tree. The style of the
- Rie description is derived from Yacc, but the semantic
- section of a production may contain attribution rules.
- Because the specification is based on attribute grammar,
- user can integrate syntax and semantics in one description.
- Rie also accepts shorthand notations, context conditions
- and `local' attributes, which are useful to write actual
- compilers.
- The generated compiler is only 1.8 times slower than a
- handwritten compiler. Rie generates an attribute evaluator
- in C source.
- The package includes sample descriptions of PL/0 compiler
- and of a sample of simple semantic analyzer, and documentation.
- reference: Sassa, M., Ishizuka, H., and Nakata, I.:
- Rie, a Compiler Generator Based on a One-Pass
- Attribute Grammar, Res. Rep. C-107, Dept. of Inf.
- Sci., Tokyo Institute of Technology
- (Now, only a printed version is available. Contact
- rie-info@is.titech.ac.jp. Electric version will be
- available from ftp://ftp.is.titech.ac.jp/pub/Rie/Papers/* .)
- bugs: Bug reports are welcome to rie-comments@is.titech.ac.jp.
- restriction: Rie is implemented by modifying Bison, so Rie must be
- also covered by GNU General Public License version 2
- and Bison's restriction.
- requires: C compiler
- ports: UNIX, DOS, etc. (same as bison) and Sharp X68000
- status: We hope that it is stable
- contact: rie-info@is.titech.ac.jp>
- updated: 1995/09/20
-
- language: BNF (Extended, actually a regular right part grammar)
- package: Gray
- version: 4
- parts: parser generator, documentation, examples
- author: Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
- how to get: ftp://server.complang.tuwien.ac.at/pub/forth/gray4.tar.gz
- ftp://server.complang.tuwien.ac.at/pub/forth/gray4.zip
- description: Gray is a parser generator written in Forth. It takes
- grammars in an extended BNF and produces executable Forth
- code for recursive descent parsers.
- restrictions: Copyleft
- requires: ANS Forth
- conformance: ANS Forth with some environmental dependences (see README)
- status: supported
- ports: Several ANS Forth Systems; mail author for old versions
- running on Tile.
- updated: 1994/08/08
-
- language: BNF (??)
- package: ZUSE
- version: ?
- parts: parser generator(?)
- author: Arthur Pyster
- location: ? Univ Calif at Santa Barbara ?
- description: ll(1) paser generator
- requires: Pascal
- updated: 1986/09/23
-
- language: BNF (??)
- package: FMQ
- version: ?
- parts: paser generator w/error corrector generator
- author: Jon Mauney
- location: ftp from csczar.ncsu.edu
- description: ?
- status: ?
- contact: ?
- updated: 1990/03/31
-
- language: BNF (??)
- package: ATS (Attribute Translation System)
- version: ?
- parts: ?
- author: ? University of Saskatchewan ?
- location: ?
- description: generates table-driven LL(1) parsers with full insert-only
- error recovery. It also handles full left-attribute semantic
- handling, which is a dream compared to using YACC's parser
- actions.
- status: ?
- contact: ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
- updated: 1988/11/29
-
- language: BNF (Extended)
- package: PCCTS (Purdue Compiler-Construction Tool Set)
- version: 1.33
- parts: scanner generator, parser generator (pred-LL(k)),
- documentation, tutorial
- author: Terence J. Parr <parrt@parr-research.com>,
- Will E. Cohen <cohenw@ecn.purdue.edu>,
- Henry G. Dietz <hankd@ecn.purdue.edu>,
- Russell W. Quong <quong@ecn.purdue.edu>
- location: ftp://ftp.parr-research.com/pub/pccts/
- UK: ftp://src.doc.ic.ac.uk/computing/programming/languages/tools/pccts/
- description: PCCTS is similar to a highly integrated version of
- YACC and LEX; where ANTLR (ANother Tool for Language
- Recognition) corresponds to YACC and DLG (DFA-based
- Lexical analyzer Generator) functions like LEX.
- PCCTS grammars contain specifications for lexical and
- syntactic analysis with selective backtracking
- ("infinite lookahead"), semantic predicates,
- intermediate-form construction and sophisticated
- parser exception handling. Rules may employ Extended BNF
- (EBNF) grammar constructs and may define parameters,
- return values and local variables. Languages described in
- PCCTS are recognized via predicated-LL(k) parsers
- constructed in pure, human-readable, C/C++ code; the C++
- programming interface is very good. The documentation is
- complete, but distributed over an original manual plus
- multiple release notes. A book is in the works and should
- be available 1Q 1996.
- A recently-developed PCCTS-based C++ parser is available
- at the ftp site; it is an *initial* release and was
- derived from the grammar built by NeXT, Inc..
- restriction: The tool is totally public domain--it has no legal
- restrictions on its use or incorporation into commercial
- applications.
- ports: Unix, DOS, Windows, OS/2, Macintosh, NeXT
- portability: very high
- discussion: comp.compilers.tools.pccts
- contact: Terence J. Parr <parrt@acm.org>
- updated: 1995/10/05
-
- language: BNF (very extended), yacc
- package: PRE-CC Xtended
- version: 2.30
- parts: library, parser generator (LL(oo)), translator(yacc->)
- author: Peter Breuer
- location: FTP: ftp.comlab.ox.ac.uk:/pub/Programs/preccx.tar.Z (Unix)
- ftp.comlab.ox.ac.uk:/pub/Programs/preccx.msdos (MS-DOS)
- ftp.comlab.ox.ac.uk:
- /pub/Documents/techpapers/Jonathan.Bowen/preccx-uug.ps.Z
- (more recent versions available by subscription)
- URL: http://www.comlab.ox.ac.uk/archive/redo/precc.html
- description: PRECCX is an infinite-lookahead compiler compiler for context
- dependent grammars. The generated code is ANSI C.
- Specification scripts are in very EBNF with inherited and
- synthetic attributes allowed. Scripts can be compiled in
- separate modules, and linked together later. Meta-production
- rules allowed. The technology is essentially LL(oo) with
- optimizations. A converter for yacc scripts is available.
- reference: "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
- In E. Davies and A. Findlay (eds.),
- Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
- St. Cross Centre, Oxford, UK, 6-8 January 1993,
- ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
- UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
- Herts SG9 9PL, UK, pp 167-182, 1993.
- "A PREttier Compiler-Compiler: Generating Higher Order
- Parsers in C" P.T. Breuer and J.P. Bowen.
- Oxford University Computing Laboratory Technical Report
- PRG-TR-20-92, 25pp, November 1992. Accepted by
- Software - Practice and Experience, 1994.
- ftp pub/Documents/techreports/TR-20-92.ps.Z
- from ftp.comlab.ox.ac.uk
- ports: unix, MS-DOS
- contact: Peter Breuer <ptb@comlab.ox.ac.uk>,
- Jonathan Bowen <bowen@comlab.ox.ac.uk>
- updated: 1994/06/02
-
- language: BNF (??)
- package: LLGen
- version: ?
- parts: parser generator
- author: ? Fischer and LeBlanc ?
- location: ? ftp from csczar.ncsu.edu ?
- description: LL(1) parser generator
- conformance: subset of FMQ
- reference: "Crafting A Compiler", by Fischer and LeBlanc
- status: ?
- contact: ?
- updated: 1990/03/31
-
- language: BNF
- package: wacco
- version: 1.1, July 91
- parts: parser generator
- author: Parag Patel (parag@netcom.com, parag@sde.hp.com)
- location: comp.sources.misc volume ?
- description: Wacco is a recursive descent LL(1) parser generator that
- generates C++ code. Its syntax is similar to YACC
- with a lot of sugaring. It can also do attribute-driven
- parsing. The source is bootstrapped wacco code.
- ports: HP-UX s300 and s800, Sparc, and 4.3BSD (on HP)
- portability: Host machine must be 32 bits.
- contact: ?
- updated: ?
-
- language: BNF (Extended), BNF (yacc)
- package: GMD Toolbox for Compiler Construction (aka Cocktail)
- version: 9209
- parts: lalr: parser generator (LALR(1) -> C, Modula-2),
- ell : parser generator (LL(1) -> C, Modula-2),
- rex : scanner generator (-> C, Modula-2),
- bnf : translator (Extended BNF -> BNF),
- y2l : translator (BNF (yacc) -> Extended BNF),
- ast : abstract syntax tree generator,
- ag : attribute-evaluator generator,
- puma: transformation of abstract syntax tree using
- pattern-matching
- documentation, examples
- author: Josef Grosch <grosch@cocolab.sub.com> and others
- location: ftp /gmd/cocktail from ftp.gmd.de
- ftp /pub/unix/programming/compilerbau
- from ftp.rus.uni-stuttgart.de
- ftp /pub/programming/languages/compiler-compiler/cocktail
- from ftp.th-darmstadt.de
- ftp /languages/tools/gmd from src.doc.ic.ac.uk
- ftp /.3/plan/gmd from gatekeeper.dec.com
- OS/2: ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo
- description: A huge set of compiler building tools.
- requires: (MS-DOS and MS-Windows only) DJ Delorie's DOS extender (go32)
- (OS/2 only) emx programming environment for OS/2
- ports: Unix, Linux, MS-DOS, MS-Windows, OS/2
- portability: very high
- status: version 9209 is unsupported, Cocktail is actively developed,
- versions 9401 and higher are commercial
- discussion: subscribe to Cocktail using listserv@eb.ele.tue.nl
- support: Josef Grosch <grosch@cocolab.sub.com>
- contact: Josef Grosch <grosch@cocolab.sub.com>
- OS/2: Willem Jan Withagen <wjw@eb.ele.tue.nl>
- updated: 1992/10/01
-
- language: BNF (??)
- package: T-gen
- version: 2.1
- parts: parser generator, documentation, ?
- author: Justin Graver <graver@comm.mot.com>
- location: ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
- description: T-gen is a general-purpose object-oriented tool for the
- automatic generation of string-to-object translators.
- It is written in Smalltalk and lives in the Smalltalk
- programming environment. T-gen supports the generation
- of both top-down (LL) and bottom-up (LR) parsers, which
- will automatically generate derivation trees, abstract
- syntax trees, or arbitrary Smalltalk objects. The simple
- specification syntax and graphical user interface are
- intended to enhance the learning, comprehension, and
- usefulness of T-gen.
- requires: Smalltalk-80
- ports: ParcPlace Objectworks/Smalltalk 4.0 & 4.1
- updated: 1992/10/18
-
- language: BNF
- package: Eli Compiler Construction System
- version: 3.8
- parts: scanner generator(regular expressions->C, C++), documentation
- parser generator(LALR->C, C++), documentation
- attribute grammar generator(LIDO->C, C++), documentation
- definition table generator(PDL->C, C++), documentation
- tree pattern-matcher generator(OIL->C, C++), documentation
- unparser generator(PTG->C, C++), documentation
- author: ?
- location: ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
- Europe: ftp unix/eli from ftp.uni-paderborn.de
- or http://www.cs.colorado.edu/~eliuser
- description: Eli integrates off-the-shelf tools and libraries with
- specialized language processors to generate complete compilers
- quickly and reliably. It simplifies the development of new
- special-purpose languages, implementation of existing languages
- on new hardware and extension of the constructs and features of
- existing languages.
- ports: Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
- discussion: <eli-request@cs.colorado.edu>
- bugs: <elibugs@cs.colorado.edu>
- contact: <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
- updated: 1993/11/01
-
- language: BNF
- package: tom (demo for Tomita Parsing algorithm)
- version: 1
- parts: parser generator, parser interpreter, examples, documentation
- author: Mark Hopkins <mark@omnifest.uwm.edu>
- location: iecc.com in pub/files/tomita.tar.gz
- alt.sources archive from October 4, 1993.
- description: An implementation of the Tomita parsing algorithm using
- LR(0) tables and dynamic programming.
- reference: Kluwer '91, _Generalized LR Parsing_, Tomita ed., 0-7923-9201-9
- "The Tomita Parsing Algorithm ...", comp.compilers May 20, 1994
- features: Cyclic context free grammars are processed.
- portability: System independent
- updated: 1994/10/03
-
- language: BNF (yacc)
- package: NewYacc
- version: 1.0
- parts: parser generator, documenation
- author: Jack Callahan <callahan@mimsy.cs.umd.edu>
- location: ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
- description: [someone want to fill it in? --ed]
- reference: see Dec 89 CACM for a brief overview of NewYacc.
- updated: 1992/02/10
-
- language: BNF (yacc)
- package: bison
- version: 1.22
- parts: parser generator, documentation
- author: Robert Corbett and Richard Stallman
- location: ftp bison-1.16.tar.Z from a GNU archive site
- description: ?
- bugs: bug-gnu-utils@prep.ai.mit.edu
- restriction: !! will apply the GNU General Public License to *your* code !!
- ports: unix, atari, ?
- updated: 1993/09/14
-
- language: BNF (yacc), Lex
- package: Bison++ and Flex++
- version: 1.21-8 (bison), 2.3.8-7 (flex), 5 (flex++bison++misc)
- parts: translator, documentation, postscript, examples, DOS binary
- author: Alain Coetmeur <coetmeur@icdc.fr>
- location: cse.unl.edu in ~ftp/pub/nandy/c++/tools/LATEST/*
- Europe: mirrored on ftp.th-darmstadt.de
- description: A retargeting of bison-1 and flex 2.3 to C++, able to
- generate classes. As with Bison and Flex, these two tools
- are independent but designed for mutual compatibility.
- The version numbering has been changed for consistency with
- Flex and Bison, so versions of flex3.0.x and bison2.x of this
- package are are actually earlier versions, not later.
- Examples are provided to help in getting started.
- conformance: Mostly compatible with flex2.3 and bison 1 in C, apart
- from the ability to generate classes.
- features: Almost all symbol names can be redefined, parsers can be
- shared in C and C++ in the same headers... very extensible...
- flex++ support IOSTREAM and STDIO in C++.
- bugs: Contact coetmeur@icdc.fr (current author and maintainer).
- restriction: GNU License for bison++. Same as flex for flex++.
- ports: SUNOS4, DOS, and same ports as Flex/Bison, Windows NT (tested)
- portability: Larger memory model required on DOS (DOS binary supplied).
- status: active, supported, might not support flex 2.4
- discussion: coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
- help: coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
- for substantial problems.
- support: see help, no commercial support. (volunteer ?)
- announcements: mail list locally maintained by coetmeur@icdc.fr,
- news: comp.compiler comp.lang.c++
- updated: 1994/02/07
- lref: C
- lref: C++
- lref: Lex
- lref: yacc
-
- language: BNF (yacc)
- package: bison-A2.3
- version: 2.3 (corresponds to gnu bison 1.22)
- parts: parser generator, C-parser, C++parser, documentation
- author: Fred Hansen <wjh+@cmu.edu>
- location: ftp://ftp.andrew.cmu.edu/pub/AUIS/bison/bison-A2.2.tar.gz
- also in contrib/andrew on the XV11R6 distribution in
- directories overhead/bison, overhead/mkparser (but not the
- C++ version of the parser)
- description: This is the standard gnu bison with a number of improvments:
- license-free parsers for C and C++, only one external symbol
- for each grammar, permits multiple grammars per application,
- better error reports on the grammar.
- conformance: grammars are the same as bison and yacc; but run-time errors
- are handled differently, so semantic rules must be changed
- features: tokens in the grammar can be expressed as ">=" instead of GE
- bugs: send bugs to info-andrew-bugs@andrew.cmu.edu
- restriction: none (unless you use the native gnu-bison parser)
- ports: has been tested on most Unix platforms
- portability: generation of names for temp files is system dependent.
- discussion: info-andrew@andrew.cmu.edu (mirrored to comp.soft-sys.andrew)
- support: supported by the Andrew Consortium
- contributions: your organization is invited to join the Andrew Consortium
- info-andrew-request@andrew.cmu.edu
- updated: 1994/05/09
-
- language: BNF (yacc)
- package: ? jaccl ?
- version: ?
- parts: parser generator
- author: Dave Jones <djones@megatest.uucp>
- location: ?
- description: a LR(1) parser generator
- updated: 1989/09/08
-
- language: BNF (yacc)
- package: byacc (Berkeley Yacc)
- version: 1.9
- parts: parser generator
- author: Robert Corbett <Robert.Corbett@eng.sun.com>
- location: ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
- description: probably the best yacc variant around. Previously known as
- Zoo, and before that, as Zeus.
- updated: 1993/02/22
-
- language: BNF (yacc), Lex
- package: Lex/Yacc for Turbo Pascal uploaded
- version: ?
- parts: parser generator, scanner generator, documentation?
- author: ?
- location: iecc.com (140.186.81.1) at pub/file/lyprg.zip.
- description: Lex and Yacc retargeted to Pascal.
- contact: ? dpoole@hydrogen.oscs.montana.edu (David Poole)
- updated: 1993/07/02
-
- language: BNF (yacc), Ada
- package: aflex-ayacc
- version: 1.2a
- parts: parser generator (Ada), scanner generator (Ada)
- author: IRUS (Irvine Research Unit in Software)
- location: ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
- description: Lex and Yacc equivalents that produce Ada output
- announcements: irus-software-request@ics.uci.edu
- contact: irus-software-request@ics.uci.edu
- updated: 1993/01/06
-
- language: BNF (yacc), Perl
- package: perl-byacc
- version: 1.8.2
- parts: parser-generator(perl)
- author: Rick Ohnemus <Rick_Ohnemus@Sterling.COM>
- location: ftp local/perl-byacc.tar.Z from ftp.sterling.com
- description: A modified version of byacc that generates perl code. Has '-p'
- switch so multiple parsers can be used in one program (C or
- perl).
- portability: Should work on most (?) Unix systems. Also works with
- SAS/C 6.x on AMIGAs.
- updated: 1993/01/24
-
- language: BNF (yacc), Standard ML
- package: New SML-Yacc and SML-Lex
- version: ??
- parts: ??
- author: Andrew Appel <appel@tyrolia.princeton.edu>
- location: princeton.edu in pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z.
- description: ??
- updated: 1994/05/23
-
- language: BNF (variant), Icon
- package: Ibpag2 (Icon-Based Parser Generation System 2)
- version: 1.2
- parts: parser generator (Icon, SLR(1))
- author: Richard L. Goerwitz <goer@midway.uchicago.edu>
- location: comp.sources.misc volume 44
- description: Ibpag2 is a parser generator for Icon. It does most
- of what you would expect. Latest version can handle both
- SLR(1) and even GLR (Tomita) grammars.
- ports: unix
- portability: ? (Unix dependencies?)
- updated: 1994/09/25
-
- language: BNF ?, Gofer
- package: Ratatosk (?)
- version: ?
- parts: parser generatr (Gofer)
- author: Torben AEgidius Mogensen <torbenm@diku.dk>
- location: ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
- description: Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
- that generates purely functional parsers (also in Gofer). Even
- though the sematic value of a production is a function of the
- attributes of its right-hand side (and thus apparently purely
- synthesized), inherited attributes are easily simulated by
- using higher order functions.
- ports: ?
- updated: ?
-
- language: BNF
- package: lalr.ss - An LALR(1) parser generator
- version: 0.9
- parts: parser generator (->Scheme)
- author: Mark Johnson <mj@cs.brown.edu>
- location: ftp new/lalr.shar from the Scheme Repository
- description: A LALR(1) parser generator in and for Scheme.
- requires: Scheme
- updated: 1993/05/24
-
- language: BURS ?
- package: Iburg
- version: ?
- parts: parser generator?
- author: Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
- <drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
- location: ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
- description: Iburg is a program that generates a fast tree parser. It is
- compatible with Burg. Both programs accept a cost-augmented
- tree grammar and emit a C program that discovers an optimal
- parse of trees in the language described by the grammar. They
- have been used to construct fast optimal instruction selectors
- for use in code generation. Burg uses BURS; Iburg's matchers
- do dynamic programming at compile time.
- updated: 1993/02/10
-
- language: BNF variant, Python
- package: kwParsing ?
- version: ?
- parts: parser generator
- author: Aaron Watters <aaron@vienna.njit.edu>
- location: ftp pub/python/kwParsing.* from ftp.markv.com
- description: A parser generator written in Python for Python. This package
- may be appropriate for experimental translators, code
- generators, interpreters, or compilers; for instructinal
- purposes; among other possibility. The documentation gives a
- brief introduction to the conventions and basic ideas of
- parsing.
- updated: 1994/09/24
-
- language: Candle, IDL (Interface Description Language)
- package: Scorpion System
- version: 6.0
- parts: software development environment for developing
- software development environments, documentation
- author: University of Arizona
- location: ftp scorpion/* from cs.arizona.edu
- description: 20 tools that can be used to construct specialized
- programming environments.
- The Scorpion Project was started by Prof. Richard
- Snodgrass as an outgrowth of the SoftLab Project (which pro-
- duced the IDL Toolkit) that he started when he was at the
- University of North Carolina. The Scorpion Project is
- directed by him at the University of Arizona and by Karen
- Shannon at the University of North Carolina at Chapel Hill.
- reference: "The Interface Description Language: Definition and Use,"
- by Richard Snodgrass, Computer Science Press, 1989,
- ISBN 0-7167-8198-0
- ports: Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
- discussion: info-scorpion-request@cs.arizona.edu
- contact: scorpion-project@cs.arizona.edu
- updated: 1993/11/04
-
- language: COCOL (EBNF variant)
- package: COCO/R
- version: 1.39 (Modula, Pascal, Oberon)
- parts: parser generator(LL(1))
- author: Hanspeter Moessenboeck <moessenboeck@ssw.uni-linz.ac.at>
- Port to Modula-2 done by Marc Brandis, Christof Brass
- and Pat Terry <cspt@cs.ru.ac.za>
- Port to Turbo Pascal done by Pat Terry and Volker Pohlers
- <pohlers@escher.hrz.fh-stralsund.de>
- location: ftp.inf.ethz.ch:/pub/software/Coco
- ftp.psg.com:/pub/modula-2/coco
- cs.ru.ac.za:/pub/coco
- ftp.fit.qut.edu.au:/pub/coco
- description: Coco/R generates recursive descent parsers and their
- associated scanners from attributed grammars. Coco/R can
- bootstrap itself to generate its own driver, parser, scanner,
- and semantic evaluator from the attributed grammar CR.ATG.
- This grammar thus serves as an an example of how to write
- compiler descriptions for Coco. There are also other simpler
- examples showing its use.
- reference: _A compiler generator for microcomputers_, by Rechenberg
- and Moessenboeck (Prentice Hall, 1989, 0-13-155136-1)
- bugs: MS-DOS related versions: Pat Terry <cspt@cs.ru.ac.za>
- Other: Hanspeter Moessenboeck
- <moessenboeck@ssw.uni-linz.ac.at>
- requires: Oberon, Modula-2, or Turbo Pascal
- ports: MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1 - 3.5;
- StonyBrook QuickMod 2.2; Logitech 3.03; Turbo Pascal.
- Macintosh: Apple MacMeth.
- Unix/Linux/FreeBSD: Mocka, Gardens Point.
- status: Oberon version is freely available. Modula-2 version is
- free to academic sites; commercial use requires a license
- updated: 1995/11/01
-
- language: COCOL (EBNF variant)
- package: Coco/R for C
- version: 1.05
- author: Francisco Arzu <farzu@uvg.edu.gt>
- location: cs.ru.ac.za:/pub/coco/cocorc05.zip
- description: This is a C version of Professor Moessenboeck's Coco/R.
- Coco/R generates recursive descent parsers and their
- associated scanners from attributed grammars. Semantic
- attributes and semantic actions are a dream compared to
- YACC's and Lex's ones. There are many examples showing
- its use, including itself (it can bootstrap itself to
- generate its own driver, parser, scanner, and semantic
- evaluator from the attributed grammar CR.ATG) and a
- simple C like language which uses Iburg to generate
- intel 80x86 assemble language.
- parts: parser generator(LL(1)), scanner generator, documentation,
- examples
- bugs: Francisco Arzu <farzu@uvg.edu.gt>
- requires: Standard C compiler
- ports: Many UNIX systems(Linux, UnixWare, SunOS, IBM AIX, HP-UX, etc)
- MS-DOS and OS/2
- restrictions: Next release will be under the GNU General Public License
- updated: 1995/11/01
- lref: C
-
- language: EAG (Extended Affix Grammar)
- package: EAG
- version: first public release
- parts: recognizer generator, transduccer generator,
- translator generator, editor generator, documentation
- author: Marc Seutter <marcs@cs.kun.nl>
- location: ftp pub/eag/* from hades.cs.kun.nl
- description: The Extended Affix Grammar formalism, or EAG for short, is a
- formalism for describing both the context free and the context
- sensitive syntax of languages. EAG is a member of the family
- of two-level grammars. They are very closely related to
- two-level van Wijngaarden grammars. The EAG compiler will
- generate either a recognizer or a transducer or a translator
- or a syntax directed editor for a language described in the EAG
- formalism.
- updated: 1993/09/14
-
- language: EBNF
- package: ETO
- version: test version
- parts: parser, postscript document, examples
- author: Lin Li <china@bernina.ethz.ch>
- location: FTP: fi.ethz.ch under /pub/ETO/eto-09.*
- description: ETO is an object oriented universal syntax checker. It takes
- an EBNF specification for a language and then uses it on an
- input file to check its syntax.
- updated: 1994/06/03
-
- language: lex
- package: flex
- version: 2.5.2
- parts: scanner generator
- author: Vern Paxson <vern@ee.lbl.gov>
- location: ftp flex-2.5.2.tar.Z from a GNU archive site or ftp.ee.lbl.gov
- description: A POSIX-compliant "lex" scanner generator.
- bugs: vern@ee.lbl.gov or bug-gnu-utils@prep.ai.mit.edu
- updated: 1995/04/28
-
- language: Regular Expressions
- package: re2c
- version: alpha
- parts: translator (re->c)
- author: ?? peter@csg.uwaterloo.ca
- location: csg.uwaterloo.ca in /pub/peter/re2c.0.5.tar.gz
- description: A regular expression to C converter.
- updated: ?? 1994/04/29
-
- language: Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
- package: Tim Budd's C++ implementation of Kamin's interpreters
- version: ?
- parts: interpretors, documentation
- author: Tim Budd <budd@cs.orst.edu>
- location: ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
- description: a set of interpretors written as subclasses based on
- "Programming Languages, An Interpreter-Based Approach",
- by Samuel Kamin.
- requires: C++
- status: ?
- contact: Tim Budd <budd@fog.cs.orst.edu>
- updated: 1991/09/12
-
- language: Relation Grammar
- package: rl
- version: ?
- parts: ?
- author: Kent Wittenburg <kentw@bellcore.com>
- location: fto rl/* from flash.bellcore.com
- description: The RL files contain code for defining Relational Grammars and
- using them in a bottom-up parser to recognize and/or parse
- expressions in Relational Languages. The approach is a
- simplification of that described in Wittenburg, Weitzman, and
- Talley (1991), Unification-Based Grammars and Tabular Parsing
- for Graphical Languages, Journal of Visual Languages and
- Computing 2:347-370.
- This code is designed to support the definition and parsing of
- Relational Languages, which are characterized as sets of
- objects standing in user-defined relations. Correctness and
- completeness is independent of the order in which the input is
- given to the parser. Data to be parsed can be in many forms as
- long as an interface is supported for queries and predicates
- for the relations used in grammar productions. To date, this
- software has been used to parse recursive pen-based input such
- as math expressions and flowcharts; to check for data
- integrity and design conformance in databases; to
- automatically generate constraints in drag-and-drop style
- graphical interfaces; and to generate graphical displays by
- parsing relational data and generating output code.
- requires: Common Lisp
- ports: Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
- updated: 1992/10/31
-
- language: S/SL (Syntax Semantic Language)
- package: ssl
- version: ?
- parts: parser bytecode compiler, runtime
- author: Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language),
- Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
- location: ftp pub/ssl.tar.Z from neat.cs.toronto.edu
- description: A better characterization is that S/SL is a language
- explicitly designed for making efficient recusive-descent
- parsers. Unlike most other languages, practicially the
- LEAST expensive thing you can do in S/SL is recur. A
- small language that defines input/output/error token
- names (& values), semantic operations (which are really
- escapes to a programming language but allow good
- abstration in the pseudo-code), and a pseudo-code
- program that defines a grammar by the token stream the
- program accepts. Alternation, control flow, and
- 1-symbol lookahead constructs are part of the
- language. What I call an S/SL "implementation", is a
- program that compiles this S/SL pseudo-code into a
- table (think byte-codes) that is interpreted by the
- S/SL table-walker (interpreter). I think the pseudo-code
- language is LR(1), and that the semantic mechanisms turn it
- into LR(N) relatively easily.
- + more powerful and cleaner than yac
- - slower than yacc
- reference: Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
- Syntax/Semantic Language, Computer Systems Research
- Institute, University of Toronto.
- "An Introduction to S/SL: Syntax/Semantic Language" by
- R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions
- on Programming Languages and Systems (TOPLAS), Vol 4, No.
- 2, April 1982, Pages 149-178.
- updated: 1989/09/25
-
- language: TXL
- package: TXL: Tree Transformation Language
- version: 7.4
- parts: translator, documentation, tutorial, examples
- author: Jim Cordy <cordy@qucis.queensu.ca>
- location: ftp pub/txl/* from ftp.qucis.queensu.ca
- description: TXL is a language for performing source to source
- transformations and is well suited for rapidly prototyping
- new languages and language processors. It has also been used to
- prototype specification languages, command languages, and more
- traditional program transformation tasks such as constant
- folding, type inference, source optimization and reverse
- engineering. TXL takes as input an arbitrary context-free
- grammar in extended BNF-like notation, and a set of
- show-by-example transformation rules to be applied to inputs
- parsed using the grammar. TXL is a functional/rule-based
- hybrid programming language, using the paradigm of structural
- transformation.
- reference: Several listed in software documentation
- updated: 1993/08/04
-
- language: BNF (extended)
- package: SORCERER: A Simple Tree Parser and Rewrite Generator
- version: 1.00B15
- parts: translator, documentation, tutorial, examples
- author: Terence Parr <parrt@parr-research.com>,
- Aaron Sawdey <sawdey@lcse.umn.edu>,
- Gary Funck <gary@intrepid.com>
- location: ftp://ftp.parr-research.com/pub/pccts/sorcerer/
- ftp://ftp.uu.net/languages/tools/pccts/
- UK: ftp://src.doc.ic.ac.uk/computing/programming/languages/tools/pccts/
- Europe: ftp://ftp.th-darmstadt.de/pub/programming/languages/compiler-compiler/pccts/
- description: SORCERER is more suitable for the class of translation problems
- lying between those solved by code-generator generators and by
- full source-to-source translator generators. SORCERER
- generates simple, flexible, top-down, tree parsers that, in
- contrast to code-generators, may execute actions at any point
- during a tree walk. SORCERER accepts extended BNF notation,
- allows predicates to direct the tree walk with semantic and
- syntactic context information, and does not rely on any
- particular intermediate form, parser generator, or other
- pre-existing application. Both C and C++ based tree
- walkers can be generated. SORCERER is well integrated
- with PCCTS (soon SORCERER will be distributed with PCCTS).
- reference: Several listed in software documentation.
- A book will available first quarter 1996; a pre-release
- version is available at the ftp site.
- discussion: Usenet newsgroup comp.compilers.tools.pccts
- help: newsgroup
- support: actively supported, from newsgroup and Parr Research
- Corporation <parrt@parr-research.com>.
- updated: 1995/09/01
-
- language: Attribute Grammars
- package: The FNC-2 Attribute Grammar System
- version: 1.14
- parts: FNC-2:
- the Olga compiler and attribute evaluator generator;
- ATC:
- a generator of abstract tree constructors driven by
- bottom-up parsers, with two flavours, one on top of
- SYNTAX, and one on top of Lex and Yacc;
- PPAT:
- a generator of unparsers of attributed abstract
- trees, based on the TeX-like notion of nested boxes
- of text.
- author: Martin Jourdan, Didier Parigot and students
- location: http://www-rocq.inria.fr/charme/FNC-2/index.html
- ftp://ftp.inria.fr/INRIA/Projects/ChLoE/FNC-2/
- description: The FNC-2 system is a modern AG-processing system that
- aims at production-quality by providing the following
- qualities:
- Efficiency:
- The generated evaluators, based on the visit-sequence
- paradigm, are completely deterministic; furthermore,
- this paradigm allows to apply very effective space
- optimization techniques. The evaluators are hence
- basically as efficient in time and space as hand-written
- programs using a tree as internal data structure.
- Expressive power:
- This efficiency is not achieved at the expense of
- expressive power since FNC-2 accepts AGs in the very
- broad class of strongly non-circular AGs.
- Easiness of use:
- Olga, the input language of FNC-2, enforces a high degree
- of programming safety, reliability and productivity.
- It provides powerful constructions for modularity and
- reusability.
- It contains the following sub-languages:
- attributed abstract syntaxes ASX;
- attribute grammars;
- declaration and definition modules.
- Versatility:
- The generated evaluators can be interfaced with many
- other tools and produced in many variations:
- Several modes of attribute evaluation:
- exhaustive; incremental; concurrent (on shared-memory
- multiprocessor machines).
- Several implementation languages:
- C (standalone);
- Lisp (on top of the <A HREF="http://www-rocq.inria.fr/charme/FNC-2/centaurfnc2.html">Centaur </A> system);
- C/fSDL (for the <A HREF="http://www-rocq.inria.fr/charme/FNC-2/cosyfnc2.html"> CoSy </A>
- compilation platform);
- ML (Caml).
- In addition, FNC-2 is the testbed for an active research team.
- ports: Unix
- status: active
- contact: <Didier.Parigot@inria.fr> or <Martin.Jourdan@inria.fr>
- updated: 1995
-
-
-
- mathematical tools and languages
- -------------------------------------------------------------------------------
- category: mathematical tools and languages
- description: These are either special-purpose languages and tools, or
- general purpose languages and tools that have traditionally
- been used for mathematical and scientific computing task.
- lref: Fortran
- lref: PCN
- lref: CLP
- lref: SISAL 1.2
-
- language: APL
- package: I-APL
- version: ?
- parts: ?
- author: ?
- location: ftp languages/apl/* from watserv1.waterloo.edu
- description: ?
- updated: 1992/07/06
-
- language: APL
- package: APLWEB
- version: ?
- parts: translator(web->apl), translator(web->TeX)
- author: Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
- location: ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
- description: [Should this be listed with the Web entries? -- Ed.]
- updated: 1992/12/07
-
- language: APL
- iref: (APL) Tim Budd's C++ implementation of Kamin's interpreters
-
- language: J
- package: J-mode
- version: ?
- parts: emacs macros
- author: ?
- location: ftp pub/j/gmacs/j-interaction-mode.el from think.com
- description: add on to J
- updated: 1991/03/04
-
- language: RLaB language (math manipulation - MATLAB-like)
- package: RLaB
- version: 1.18d
- parts: interpreter, libraries, documentation
- author: Ian Searle <ians@eskimo.com>
- location: ftp pub/RLaB/* from evans.ee.adfa.oz.au
- US: csi.jpl.nasa.gov in /pub/matlab/RLaB
- description: RLaB is a "MATLAB-like" matrix-oriented programming
- language/toolbox. RLaB focuses on creating a good experimental
- environment (or laboratory) in which to do matrix math
- Currently RLaB has numeric scalars and matrices (real and
- complex), and string scalars, and matrices. RLaB also contains
- a list variable type, which is a heterogeneous associative
- array.
- bugs: Ian Searle <ians@eskimo.com>
- restriction: GNU General Public License
- requires: GNUPLOT, lib[IF]77.a (from f2c)
- ports: many unix, OS/2, Amiga
- updated: 1995/03/16
-
- language: octave language (math manipulation - MATLAB-like)
- package: octave
- version: 1.1.1
- parts: interpreter, libraries, documentation
- author: John W. Eaton
- location: ftp /pub/octave/* from ftp.che.utexas.edu
- also, any GNU archive site (see archive listing below)
- description: Octave is a high-level language, primarily intended for
- numerical computations. It provides a convenient command line
- interface for solving linear and nonlinear problems
- numerically.
- Octave can do arithmetic for real and complex scalars and
- matrices, solve sets of nonlinear algebraic equations,
- integrate functions over finite and infinite intervals, and
- integrate systems of ordinary differential and
- differential-algebraic equations.
- bugs: bug-octave@che.utexas.edu
- restriction: GNU General Public License
- requires: gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
- ports: several
- updated: 1994/2/23
-
- language: FUDGIT language (math manipulation)
- package: FUDGIT
- version: 2.27
- parts: interpreter
- author: Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
- location: ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
- description: FUDGIT is a double-precision multi-purpose fitting program. It
- can manipulate complete columns of numbers in the form of
- vector arithmetic. FUDGIT is also an expression language
- interpreter understanding most of C grammar except pointers.
- Morever, FUDGIT is a front end for any plotting program
- supporting commands from stdin. It is a nice mathematical
- complement to GNUPLOT, for example.
- requires: GNUPLOT
- ports: AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
- updated: 1993/02/22
-
- language: Unix BC (arbitrary-precision arithmetic language)
- package: C-BC
- version: 1.1
- parts: bytecode compiler, interpreter, documentation, examples
- author: Mark Hopkins <mark@omnifest.uwm.edu>
- location: alt.sources (10/04/93), or contact author by E-mail.
- description: A strongly typed version of BC with expanded C-like syntax,
- more base types, with ability to form array and pointer types
- of any dimension and to allocate/free arrays at run-time.
- conformance: Most POSIX-BC features supported, except functions must be
- declared consistently and declared before first use. String
- handling slightly different.
- reference: C-BC implementation notes contained with software documentation
- requires: ANSI-C compiler
- ports: DOS, Unix
- portability: No system dependent features present.
- updated: 1993/08/23
-
- language: Unix BC (arbitrary-precision arithmetic language)
- package: GNU BC
- version: 1.02
- parts: parser (yacc), interpreter, BC math library
- author: Philip A. Nelson <phil@cs.wwu.edu>
- location: ftp bc-1.02.tar.Z from a GNU archive site
- description: BC is an arbitrary precision numeric processing language with a
- C-like syntax that traditionally provided a front-end to DC.
- This version, however, is self-contained and internally
- executes its own compiled code (unrelated to DC code).
- conformance: Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
- restriction: Source code falls under the GNU CopyLeft.
- requires: vsprintf and vfprintf routines
- ports: Unix (BSD, System V, MINIX, POSIX)
- updated: ?
-
- language: Calc? (symbolic math calculator)
- package: Calc
- version: 2.02
- parts: interpreter, emacs mode, documentation
- author: Dave Gillespie <daveg@cs.caltech.edu>
- location: ftp calc-2.02.tar.z from a GNU archive site
- description: Calc is an extensible, advanced desk calculator and
- mathematical tool written in Emacs Lisp that runs as part of
- GNU Emacs. It is accompanied by the "Calc Manual", which
- serves as both a tutorial and a reference. If you wish, you
- can use Calc as only a simple four-function calculator, but it
- also provides additional features including choice of algebraic
- or RPN (stack-based) entry, logarithms, trigonometric and
- financial functions, arbitrary precision, complex numbers,
- vectors, matrices, dates, times, infinities, sets, algebraic
- simplification, differentiation, and integration.
- bugs: ?
- updated: ?
-
- language: C-like caluculator
- package: Arbitrary precision calculator
- version: 1.26.4
- parts: interpreter
- author: David I. Bell <dbell@canb.auug.org.au>
- location: ftp pub/calc from ftp.uu.net
- description: Arbitrary precision C-like calculator [similar to BC? --ed]
- ports: Linux
- updated: 1993/06/15
-
- language: Unix DC (arbitrary-precision arithmetic language)
- package: GNU DC
- version: 0.2
- parts: interpreter
- author: ?
- location: ftp dc-0.2.tar.Z from a GNU archive site
- description: DC is the language for an arbitrary precision postfix
- calculator. This version is a subset of DC that handles all
- the Unix DC operations, except the (undocumented) array
- operations.
- status: Attempting integration with GNU BC.
- updated: 1993/05/21
-
- language: Fortran
- package: f2c
- version: 1993.04.28
- parts: translator (to C), postscript documentation, man pages,
- support libraries.
- author: S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
- location: ftp from netlib@netlib.att.com:netlib/f2c/src/*
- description: translator (Fortran 77 to ANSI C or C++)
- bugs: D. M. Gay <dmg@research.att.com>
- updated: 1993 April 27
-
- language: GNU Fortran
- package: g77
- version: 0.5.17
- parts: compiler, documentation, libraries.
- author: Craig Burley <burley@gnu.ai.mit.edu>
- location: ftp g77-0.5.17.tar.gz from any GNU site
- description: GNU Fortran is a free replacement for the UNIX f77
- Fortran compiler, and is currently in beta testing.
- requires: To build it requires the GNU CC source distribution,
- Version 2.6.3 through 2.7.
- bugs: <fortran@gnu.ai.mit.edu>
- updated: 1995/11/22
-
- language: Fortran
- package: Floppy
- version: ?
- parts: ?
- author: ?
- location: ffccc in comp.sources.misc archive volume 12
- description: ?
- contact: ?
- updated: 1992/08/04
-
- language: Fortran
- package: Flow
- version: ?
- parts: ?
- author: Julian James Bunn <julian@vxcrna.cxern.ch>
- location: comp.sources.misc archive volume 31
- description: The Flow program is a companion to Floppy, it allows the user
- to produce various reports on the structure of Fortran
- 77 code, such as flow diagrams and common block tables.
- requires: Floppy
- ports: VMS, Unix, CMS
- updated: ?
-
- language: Fortran (HPF)
- package: Adaptor (Automatic DAta Parallelism TranslatOR)
- version: 3.0
- parts: preprocessor, library, documentation
- author: ?
- location: ftp://ftp.gmd.de/GMD/adaptor/adp_3.0.tar.gz
- description: Adaptor is a tool that transforms data parallel
- programs written in Fortran with array extensions,
- parallel loops, and layout directives to parallel
- programs with explicit message passing.
- ADAPTOR is not a compiler but a source to source
- transformation that generates Fortran 77 host and
- node programs with message passing. The new
- generated source codes have to be compiled by the
- compiler of the parallel machine.
- reference: http://www.gmd.de/SCAI/lab/adaptor/adaptor_home.html
- ports: CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
- network of Suns, or RS/6000s
- contact: Thomas Brandes <brandes@gmd.de>
- updated: 1995/06
-
- language: Fortran, C
- package: cfortran.h
- version: 2.6
- parts: macros, documentation, examples
- author: Burkhard Burow
- location: ftp cfortran/* from zebra.desy.de
- description: cfortran.h is an easy-to-use powerful bridge between
- C and FORTRAN. It provides a completely transparent, machine
- independent interface between C and FORTRAN routines and
- global data.
- cfortran.h provides macros which allow the C preprocessor to
- translate a simple description of a C (Fortran) routine or
- global data into a Fortran (C) interface.
- reference: reviewed in RS/Magazine November 1992 and
- a user's experiences with cfortran.h are to be described
- in the 1/93 issue of Computers in Physics.
- ports: VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
- Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
- portability: high
- contact: burow@vxdesy.cern.ch
- updated: 1992/04/12
-
- language: Fortran
- package: fsplit
- version: ?
- parts: ?
- author: ?
- location: ?
- description: a tool to split up monolithic fortran programs
- updated: ?
-
- language: Fortran
- package: ?
- version: ?
- parts: ?
- author: Steve Mccrea <mccrea@gdwest.gd.com>
- location: ?
- description: a tool to split up monolithic fortran programs
- requires: new awk
- updated: ?
-
- language: Fortran
- package: Fortran77 -> Fortran90 converter
- version: ? 1
- parts: translator(Fortran 77 -> Fortran 90), documentation?
- author: metcalf@cernvm.cern.ch <Michael Metcalf>
- location: ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
- description: A Fortran77 to Fortran90 translator. There's a number of
- significant differences between the two Fortrans that makes
- a package like this useful.
- updated: 1993/07/17
-
- language: Fortran
- package: F-curses
- version: ?
- parts: library
- author: Wade Schauer <sal!wade@sactoh0.sac.ca.us>
- location: comp.sources.misc volume 44
- description: F-curses (C) is a library of Fortran and C routines that gives
- Fortran programmers tranparent access to the curses library (a
- C library).
- restriction: shareware
- ports: UNIX, MS-DOS
- updated: 1994/10/10
-
- language: Fortran
- iref: (Fortran) Stanford SUIF Compiler
-
- language: Fortran
- package: ?
- version: ?
- parts: semantic analyser
- author: ?
- location: http://www.nag.co.uk:70/
- description: Fortran 90 semantic analyser
- updated: ?
-
- language: J
- package: J from ISI
- version: 6
- parts: interpreter, tutorial
- author: Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
- location: ftp languages/apl/j/* from watserv1.waterloo.edu
- description: J was designed and developed by Ken Iverson and Roger Hui. It
- is similar to the language APL, departing from APL in using
- using the ASCII alphabet exclusively, but employing a spelling
- scheme that retains the advantages of the special alphabet
- required by APL. It has added features and control structures
- that extend its power beyond standard APL. Although it can be
- used as a conventional procedural programming language, it can
- also be used as a pure functional programming language.
- ports: Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
- IBM-PC, Atari, 3b1, Amiga
- updated: 1992/10/31
-
- language: Ratfor
- package: ? ratfor ?
- version: ?
- parts: translator(Ratfor->Fortran IV)
- author: Brian Kernighan and P.J. Plauger (wrote the book anyway)
- location: comp.sources.unix archives volume 13
- description: Ratfor is a front end language for Fortran. It was designed
- to give structured control structures to Fortran. It is
- mainly of historical significance.
- updated: ?
-
- language: Y (cross between C and Ratfor)
- package: y+po
- version: ?
- parts: compiler
- author: Jack W. Davidson and Christopher W. Fraser
- location: ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
- description: Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
- idea and other optimization ideas came from] along with the Y
- compiler [cross between C+ratfor] is ftpable from
- ftp.cs.princeton.edu: /pub/y+po.tar.Z. It is a copy of the
- original distribution from the University of Arizona during the
- early 80's, totally unsupported, almost forgotten [do not bug
- the authors] old code, possibly of interest to
- compiler/language hackers.
- reference: Jack W. Davidson and Christopher W. Fraser, "The Design and
- Application of a Retargetable Peephole Optimizer", TOPLAS,
- Apr. 1980.
- Jack W. Davidson, "Simplifying Code Through Peephole
- Optimization" Technical Report TR81-19, The University of
- Arizona, Tucson, AZ, 1981.
- Jack W. Davidson and Christopher W. Fraser, "Register
- Allocation and Exhaustive Peephole Optimization"
- Software-Practice and Experience, Sep. 1984.
- status: history
- updated: ?
-
- electrical engineering languages
- -------------------------------------------------------------------------------
- category: electrical engineering languages
- description: These are languages used for simulating, designing, and
- specifying circuits.
-
- language: CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
- package: Ptolemy
- version: 0.5.2
- parts: grahpical algorithm layout, code generator, simulator
- author: ?
- location: ftp://ptolemy.eecs.berkeley.edu/pub/ptolemy/ptolemy0.5.2/
- description: Ptolemy provides a highly flexible foundation for the
- specification, simulation, and rapid prototyping of systems.
- It is an object oriented framework within which diverse models
- of computation can co-exist and interact. For example, using
- Ptolemy a data-flow system can be easily connected to a
- hardware simulator which in turn may be connected to a
- discrete-event system, etc. Because of this, Ptolemy can be
- used to model entire systems.
- In addition, Ptolemy now has code generation capabilities.
- from a flow graph description, Ptolemy can generate both C code
- and DSP assembly code for rapid prototyping. Note that code
- generation is not yet complete, and is included in the current
- release for demonstration purposes only.
- requires: C++, C
- ports: Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
- status: active research project
- discussion: ptolemy-hackers-request@ohm.berkeley.edu
- contact: ptolemy@ohm.berkeley.edu
- updated: 1995/05/28
-
- language: EDIF (Electronic Design Interchange Format)
- package: Berkeley EDIF200
- version: 7.6
- parts: translator-building toolkit
- author: Wendell C. Baker and Prof A. Richard Newton of the Electronics
- Research Laboratory, Department of Electrical Engineering and
- Computer Sciences at the University of California, Berkeley, CA
- location: ftp from pub/edif in ic.berkeley.edu
- description: ?
- restriction: no-profit w/o permission
- ports: ?
- updated: 1990/07
-
- language: Verilog, XNF
- package: XNF to Verilog Translator
- version: ?
- parts: translator(XNF->Verilog)
- author: M J Colley <martin@essex.ac.uk>
- location: ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
- description: This program was written by a postgraduate student as part
- of his M.Sc course, it was designed to form part a larger
- system operating with the Cadence Edge 2.1 framework. This
- should be born in mind when considering the construction
- and/or operation of the program.
- updated: ?
-
- language: VHDL
- package: ALLIANCE
- version: 1.1
- parts: compiler, simulator, tools and environment, documentation
- author: ?
- location: ftp://ftp.ibp.fr/ibp/softs/masi/alliance/
- description: ALLIANCE 1.1 is a complete set of CAD tools for teaching
- Digital CMOS VLSI Design in Universities. It includes VHDL
- compiler and simulator, logic synthesis tools, automatic place
- and route, etc... ALLIANCE is the result of a ten years effort
- at University Pierre et Marie Curie (PARIS VI, France).
- ports: Sun4, also not well supported: Mips/Ultrix, 386/SystemV
- discussion: alliance-request@masi.ibp.fr
- contact: cao-vlsi@masi.ibp.fr
- updated: 1993/02/16
-
- language: VHDL
- package: VHDL Object Model (VOM)
- version: 1.0
- parts: parser
- author: David Benz <dbenz@thor.ece.uc.edu> and
- Phillip Baraona <pbaraona@thor.ece.uc.edu>
- location: ftp pub/vhdl/tools/vhdl-object-model.tar.g from thor.ece.uc.edu
- description: VOM 1.0 is an object-oriented syntactic specification for VHDL
- written using the REFINE software design and synthesis
- environment. In simpler terms, it is a VHDL parser which builds
- an object tree from VHDL source code.
- If you are interested in transforming VHDL into some other form
- (source code, whatever) you might be interested in this. The
- parse tree (in the form of an object tree) is provided, you would
- just need to add your own transformations.
- VOM isn't complete. The semantic information is not included
- (type checking, certain syntactic-rules, etc.). VOM 1.0 should
- parse most VHDL programs. However, it will not detect errors
- such as a wait statement in a process statement with an
- explicit sensitivity list.
- updated: 1994/11/01
-
-
- Wirth family languages
- ------------------------------------------------------------------------------
- category: Wirth family languages
- description: These are the languages that were either designed by Niklaus
- Wirth or are descended from them.
- lref: IFP
-
- language: CLU
- iref: (CLU) Tim Budd's C++ implementation of Kamin's interpreters
-
- language: Modula-2, Pascal
- package: m2
- version: ? 7/2/92 ?
- parts: ? compiler ?
- author: Michael L. Powell. See description below.
- location: ftp pub/DEC/Modula-2/m2.tar.Z from gatekeeper.dec.com
- description: A modula-2 compiler for VAX and MIPS. A Pascal
- compiler for VAX is also included. The Pascal compiler
- accepts a language that is almost identical to Berkeley
- Pascal. It was originally designed and built by Michael L.
- Powell, in 1984. Joel McCormack made it faster, fixed lots of
- bugs, and swiped/wrote a User's Manual. Len Lattanzi ported it
- to the MIPS.
- conformance: extensions:
- + foreign function and data interface
- + dynamic array variables
- + subarray parameters
- + multi-dimensional open array parameters
- + inline proceedures
- + longfloat type
- + type-checked interface to C library I/O routines
- restriction: must pass changes back to Digital
- ports: vax (ultrix, bsd), mips (ultrix)
- contact: modula-2@decwrl.pa.dec.com
- updated: 1992/07/06
-
- language: Modula-2
- package: Ulm's Modula-2 System
- version: 2.2.1
- parts: compiler, library, tools
- author: Andreas Borchert <borchert@mathematik.uni-ulm.de>
- compiler derived from the ETHZ compiler for the Lilith system
- location: ftp pub/soft/modula/ulm/sun3/modula-2.2.1.tar.Z from
- titania.mathematik.uni-ulm.de. Please get the READ_ME too.
- description: ?
- conformance: PIM3
- restriction: commercial use requires licence;
- compiler sources available by separate licence agreement
- (licence fee is not required if it is possible to
- transfer the sources across the network)
- requires: gas-1.36 (to be found in the same directory)
- ports: Sun3, Nixdorf Targon/31, Concurrent 3200 Series
- contact: Andreas Borchert <borchert@mathematik.uni-ulm.de>
- updated: 1992/03/02
-
- language: Modula-2
- package: mtc
- version: 9209
- parts: translator(->C)
- author: Matthias Martin, Josef Grosch <grosch@cocolab.sub.com>
- location: ftp /gmd/cocktail/{mtc,reuse}.tar.Z from ftp.gmd.de
- ftp /pub/unix/programming/compilerbau/{mtc,reuse}.tar.Z
- from ftp.rus.uni-stuttgart.de
- ftp /pub/programming/languages/compiler-compiler/cocktail/{mtc,reuse}.tar.Z
- from ftp.th-darmstadt.de
- ftp /languages/tools/gmd/{mtc,reuse}.tar.Z
- from src.doc.ic.ac.uk
- ftp /.3/plan/gmd/{mtc,reuse}.tar.Z from gatekeeper.dec.com
- description: A Modula-2 to C translator
- ports: Unix, Linux, MS-DOS, MS-Windows, OS/2
- contact: Josef Grosch <grosch@cocolab.sub.com>
- updated: 1992/10/01
-
- language: Modula-2
- package: mocka
- version: 9404
- parts: compiler, library, examples, docs
- author: ? Holger Hopp <hopp@ira.uka.de>
- location: ftp /pub/mocka/linux/mocka9404* from i44.s10.ira.uka.de
- or ftp /pub/Linux/devel/modula-2/mocka9404*
- from sunsite.unc.edu
- description: A free version of a Modula-2 compiler for the Intel X86
- under Linux or 386BSD (and derivatives?). Source code
- in Modula-2 is available.
- ports: Linux and 386BSD (also commercial versions)
- updated: 1994/04/29
-
- language: Modula-2* (parallel extension)
- package: IPD Modula-2* Programming Environment
- version: 9401
- parts: translator (->C), debugger (SUN4 only), X Windows
- user panel, automatic cross-architecture make,
- sequential and parallel libraries, examples, documentation
- author: IPD Modula-2* team <msc@ira.uka.de> consisting of the
- following kernel contributors:
- Thomas Gauweiler, Stefan U. Haenssgen, Ernst A. Heinz,
- Paul Lukowicz, Hendrik Mager, Michael Philippsen.
- location: ftp.ira.uka.de (129.13.10.90) in pub/programming/modula2star/
- description: Modula-2* is an extension of Modula-2 for highly parallel,
- portable programs. IPD Modula-2* is provided freely for
- research, educational and classroom use. A complete sequential
- Modula-2 environment in provided complemented with a set of
- parallel libraries, which even include routines for
- implementing low-level parallel operations. The employment of
- of C translator allows increased accessibility to actual
- parallel machines (many have nothing lower-level than C), at
- the expense of Modula-2 features of arrays bounds checking
- and symbolic debugging at the Modula-2* level.
- [An interpreter could be written with functionality subsuming
- that of a symbolic debugger. -- Mark]
- conformance: PIM but not ISO compliant
- reference: J.R. Smith. "The design and analysis of parallel
- algorithms. Chapter 3: Modula-2*." Oxford University
- Press, December 1992.
- M. Philippsen, E.A. Heinz, and P. Lukowicz. "Compiling
- machine-independent parallel programs." ACM SIGPLAN
- Notices, v. 28, no. 8, pp. 99-108, August 1993.
- M. Philippsen, T.M. Warschko, W.F. Tichy, C.G. Herter,
- E.A. Heinz, and P. Lukowicz. "Project Triton: Towards
- improved programmability of parallel computers." In
- D.J. Lija and P.L. Bird (eds), The Interaction of
- Compilation Technology and Computer Architecture, Kluwer
- Academic Publishers, 1994.
- Others available from i41s10.ira.uka.de (129.13.13.110)
- in pub/m2s/*.ps
- ports: 386 and above with BSDI/386 or Linux (sequential),
- KSR-1/KSR-2 with KSR-OS (sequential and parallel),
- DECStation (R3000/R4000) with Ultrix (sequential),
- MP-1/MP-2 (DECStation frontend) with MP-Ultrix (parallel)
- SUN (Sun-3, Sun-4 SPARCStation) with SunOS (sequential),
- portability: sources are for GMD Mocka Modula-2 compiler
- status: supported
- updated: ???
-
- language: Modula-2, Modula-3
- package: m2tom3
- version: 2.00
- parts: Translator (Modula-2->Modula-3),
- Modula-2 standard library emulation
- author: Peter Klein <pk@i3.informatik.rwth-aachen.de>
- location: ftp://ftp-i3.informatik.rwth-aachen.de/pub/Modula-3-Contrib/m2tom3/m2tom3-2.00.tar.gz
- description: m2tom3 is a system to port Modula-2 programs to Modula-3.
- It consists of two parts:
- 1) A conversion program which tries to create a Modula-3
- source text with the same semantics as the Modula-2 input
- while retaining the original look and feel as good as possible.
- 2) A base library which tries to emulate the Modula-2 standard
- library using the Modula-3 standard library.
- This version performs a wide range of conversions including
- WITH-statements, variant RECORDS, qualification of enumeration
- type literals etc.
- For a detailed description, see the enclosed README file.
- requires: DEC SRC Modula-3 release 3.3
- help: <pk@i3.informatik.rwth-aachen.de>
- announcements: comp.lang.modula2, comp.lang.modula3
- contact: <pk@i3.informatik.rwth-aachen.de>
- updated: 1994/11/30
-
- language: pm2
- package: PRAM emulator and parallel modula-2 compiler ??
- version: ?
- parts: compiler, emulator
- author: ?
- location: ftp pub/pram/* from cs.joensuu.fi
- description: A software emulator for parallel random access machine (PRAM)
- and a parallel modula-2 compiler for the emulator. A PRAM
- consists of P processors, an unbounded shared memory, and a
- common clock. Each processor is a random access machine (RAM)
- consisting of R registers, a program counter, and a read-only
- signature register. Each RAM has an identical program, but the
- RAMs can branch to different parts of the program. The RAMs
- execute the program synchronously one instruction in one clock
- cycle.
- pm2 programming language is Modula-2/Pascal mixture having
- extensions for parallel execution in a PRAM. Parallelism is
- expressed by pardo-loop- structure. Additional features include
- privat/shared variables, two synchronization strategies, load
- balancing and parallel dynamic memory allocation.
- contact: Simo Juvaste <sjuva@cs.joensuu.fi>
- updated: 1993/02/17
-
- language: Modula-3
- package: SRC Modula-3
- version: 3.5
- parts: compiler(->C), runtime library, documentation
- author: DEC Systems Research Center <m3-request@src.dec.com>
- LINUX version compiled by Michel Dagenais
- location: ftp pub/DEC/Modula-3/release-3.5/*.tar.gz
- from gatekeeper.dec.com
- MSDOS: ftp pub/DEC/Modula-3/contrib/m3pc* from gatekeeper.dec.com
- Linux: ftp.vlsi.polymtl.ca in pub/m3/linux (binaries only)
- description: The goal of Modula-3 is to be as simple and safe as it
- can be while meeting the needs of modern systems
- programmers. Instead of exploring new features, we
- studied the features of the Modula family of languages
- that have proven themselves in practice and tried to
- simplify them into a harmonious language. We found
- that most of the successful features were aimed at one
- of two main goals: greater robustness, and a simpler,
- more systematic type system. Modula-3 retains one of
- Modula-2's most successful features, the provision for
- explicit interfaces between modules. It adds objects
- and classes, exception handling, garbage collection,
- lightweight processes (or threads), and the isolation
- of unsafe features.
- conformance: implements the language defined in SPwM3.
- requires: gcc, preferrably X11
- ports: i386/AIX 68020/DomainOS Acorn/RISCiX MIPS/Ultrix 68020/HP-UX
- RS6000/AIX IBMRT/4.3 68000/NextStep i860/SVR4 SPARC/SunOS
- 68020/SunOS sun386/SunOS Multimax/4.3 VAX/Ultrix
- discussion: comp.lang.modula3
- contact: Bill Kalsow <kalsow@src.dec.com>
- updated: 1994/07/09
-
- language: Oberon2
- package: Oberon-2 LEX/YACC definition
- version: 1.4
- parts: parser(yacc), scanner(lex)
- author: Stephen J Bevan <bevan@cs.man.ac.uk>
- location: ftp pub/oberon/tools/o2lexyac.tar.Z from ftp.psg.com
- http://panther.cs.man.ac.uk/~bevan/oberon
- description: A LEX and YACC grammar for Oberon 2 based on the one given
- in the listed reference.
- reference: The Programming Language Oberon-2
- H. M\"{o}ssenb\"{o}ck, N. Wirth
- Institut f\"{u}r Computersysteme, ETH Z\"{u}rich
- January 1992
- ftp Oberon/Docu/Oberon2.Report.ps.Z from neptune.inf.ethz.ch
- restriction: Portions of the source under copyright by U. Manchester.
- status: un-officially supported
- updated: 1992/07/06
-
- language: Oberon
- package: Ceres workstation Oberon System
- version: ?
- parts: compiler
- author: ?
- location: ftp Oberon/? from neptune.ethz.ch
- description: file format is Oberon, binary header
- status: The sources to the various _full_ implementations are indeed
- not available but the source to most of the complete Ceres
- workstation Oberon System, including NS32032 code generator but
- less low level system specific is available. This includes the
- complete Oberon compiler written in Oberon.
- updated: ?
-
- language: Oberon
- package: Ulm's Oberon System
- version: 0.4
- parts: compiler, tools, library, documentation
- author: Andreas Borchert <borchert@mathematik.uni-ulm.de>
- location: ftp pub/soft/oberon/ulm/sun3/oberon-0.4.tar.gz from
- titania.mathematik.uni-ulm.de.
- description: In comparison to the Oberon Systems of ETH Zurich this system
- may be used like other traditional language systems (e.g. cc).
- It consists of a compiler, a makefile generator, a debugger,
- and a large library which has a system-independent kernel that
- supports exception handling, concurrency, synchronization,
- persistence, and distributed systems. The package contains a
- copying garbage collector. The compiler is written in
- Modula-2, the debugger in C, all other parts are written in
- Oberon.
- conformance: N. Wirth, ``The Programming Language Oberon'',
- SP&E July 1988 with some selective adaptions of later
- revisions. The compiler still requires the separation of
- definitions & modules like Modula-2.
- restriction: The compiler and associated tools fall under the GNU CopyLeft,
- and the library under the GNU library general public license.
- ports: Sun3/SunOS 4.1.1, Nixdorf Targon/31
- status: Active -- will be ported to SPARC/Solaris 2.x
- announcements: New releases will be announced in comp.lang.oberon.
- updated: 1994/07/20
-
- language: Oberon-2
- package: o2c
- version: 1.4
- author: Michael van Acken <oberon1@informatik.uni-kl.de>
- Juergen Zimmermann <jnzimmer@informatik.uni-kl.de>
- location: ftp://ftp.uni-kl.de/pub/informatik/software/o2c-1.4.tar.gz
- description: o2c is an Oberon-2 compiler that translates into the C
- dialect accepted by the GNU C compiler (version 2.5.8 or
- above). The compiler provides it's own make facility.
- The package includes a symbol file browser and a
- GNU Emacs mode that allows to use Emacs as a comfortable
- programming environment for the compiler.
- o2c is known to run on several 32bit UNIX-plattforms.
- It comes with full source-code.
- conformance: The programming language Oberon-2, Oct. 93, ETH Zuerich
- restriction: GNU General Public License
- ports: UNIX, tested on [GNU-cannonical name/GCC version]
- hppa1.1-hp-hpux/2.5.8
- sparc-sun-sunos4.1.3/2.5.8
- sparc-sun-sunos4.1.3_U1/2.6.2
- iX86-unknown-linux/2.5.8
- iX86-unknown-linux/2.6.3
- contact: oberon1@informatik.uni-kl.de
- updated: 1995/05/04
-
- language: Oberon-2
- package: Jacob
- version: 0
- parts: compiler, library, documentation, examples
- author: Max Spring <sepp@cs.tu-berlin.de>, Ralf Bauer <nathan@cs.tu-berlin.de>
- location: ftp /pub/Linux/devel/lang/oberon/jacob-v0* from sunsite.unc.edu
- ftp /pub/linux/Local/compilers/oberon/jacob-v0* from ftp.cs.tu-berlin.de
- description: Jacob compiles Oberon-2 to 386 GNU Assembler code.
- conformance: Oberon-2 as defined in "The Programming Language Oberon-2"
- from H.Moessenboeck, N. Wirth, March 1995
- reference: "Read Me" http://www.cs.tu-berlin.de/~sepp/jacob/jacob.html
- "The Programming Language Oberon-2" ftp://ftp.inf.ethz.ch/pub/Oberon/Docu/Oberon2.Report.ps.gz
- features: + automatic storage reclamation (garbage collection)
- + FOREIGN modules for accessing third party libraries
- + verbose run-time error messages
- bugs: report bugs to sepp@cs.tu-berlin.de
- restriction: none
- requires: GNU assembler
- ports: Linux (386)
- status: First public release
- discussion: comp.lang.oberon
- help: contact the authors
- contact: Max Spring <sepp@cs.tu-berlin.de>
- updated: 1995/09/12
-
- language: Parallaxis
- package: parallaxis
- version: Parallaxis-III
- parts: ?,debugger, viz tools, simulator, x-based profiler
- author: Thomas Braunl <braunl@informatik.uni-stuttgart.de>
- location: ftp://ftp.informatik.uni-stuttgart.de/pub/p3
- http://www.informatik.uni-stuttgart.de/ipvr/bv/p3
- description: Parallaxis is a procedural programming language based
- on Modula-2, but extended for data parallel (SIMD) programming.
- The main approach for machine independent parallel programming
- is to include a description of the virtual parallel machine
- with each parallel algorithm.
- ports: MP-1, CM-2, Sun-3, Sun-4, DECstation, HP 700, RS/6000
- contact: ? Thomas Braunl <braunl@informatik.uni-stuttgart.de> ?
- updated: 1992/10/23
-
- language: Pascal
- package: p2c
- version: 1.20
- parts: translator(Pascal->C)
- author: Dave Gillespie <daveg@synaptics.com>
- location: ftp ? from csvax.cs.caltech.edu
- description: ?
- conformance: supports ANSI/ISO standard Pascal as well as substantial
- subsets of HP, Turbo, VAX, and many other Pascal dialects.
- ports: ?
- updated: 1990/04/13
-
- language: Pascal
- package: Pascal P4 compiler and interpreter
- version: ? 1
- parts: compiler, assembler/interpreter, documentation
- author: Urs Ammann, Kesav Nori, Christian Jacobi
- location: ftp /pub/pascal/* from ftp.cwi.nl
- or http://www.cwi.nl/~steven/pascal.html
- description: A compiler for Pascal written in Pascal, producing an
- intermediate code, with an assembler and interpreter
- for the code.
- reference: Pascal Implementation, by Steven Pemberton and Martin
- Daniels, published by Ellis Horwood, Chichester, UK
- (an imprint of Prentice Hall), ISBN: 0-13-653-0311.
- Also available in Japanese.
- contact: <Steven.Pemberton@cwi.nl>
- updated: 1993/07/05
-
- language: Pascal
- package: ? iso_pascal ?
- version: ?
- parts: scanner(lex), parser(yacc)
- author: ?
- location: comp.sources.unix archive volume 13
- description: ?
- updated: ?
-
- language: Pascal
- package: pasos2
- version: Alpha
- parts: Compiler, run-time library
- author: Willem Jan Withagen <wjw@eb.ele.tue.nl>
- location: ftp pub/src/pascal/pasos2* from ftp.eb.ele.tue.nl
- description: a PASCAL/i386 compiler which generates
- code for OS/2 and DOS. It uses EMX as DOS extender and
- GNU/GAS, MASM or TASM as assembler.
- updated: 1993/12/17
-
- language: Pascal
- package: ptc
- version: ?
- parts: translator(Pascal->C)
- author: ?
- location: ftp languages/ptc from uxc.sco.uiuc.edu ? (use archie?)
- description: ?
- contact: ?
- updated: ?
-
- language: Turbo Pascal, Turbo C
- package: tptc
- version: ?
- parts: translator(Turbo Pascal->Turbo C)
- author: ?
- location: ftp mirrors/msdos/turbopas/tptc17*.zip from wuarchive.wustl.edu
- description: (It does come with full source and a student recently used it
- as a start for a language that included stacks and queues as a
- built-in data type.
- contact: ?
- updated: ?
-
- language: Pascal
- package: QCK
- version: 2.0
- parts: compiler(written in ANSI-C), library, assembler,
- linker etc.
- author: Henrik Quintel <quintel@nibelung.Worms.Fh-Rpl.DE>
- location: Server : top.cs.vu.nl
- Directory :/pub/minix/pascal/
- description: Supports standard pascal with a few exceptions
- (set of.. , packed arrays, packed records,
- procedures/functions as parameters)
- features: Read the README file
- bugs: Cos, tan, sin.... does not work right !
- requires: PC-Minix 1.6.25 1.6.30 1.7.0
- help: <quintel@nibelung.Worms.Fh-Rpl.DE>
- support: <quintel@nibelung.Worms.Fh-Rpl.DE>
- Announcements: comp.os.minix, comp.compilers
- contact: <quintel@nibelung.Worms.Fh-Rpl.DE>
- updated: 1995/01/09
-
- language: Pascal-Debugger
- package: QCK
- version: 1.0
- parts: Debugger/Interpreter(written in ANSI-C)
- author: Henrik Quintel <quintel@nibelung.Worms.Fh-Rpl.DE>
- location: Server : top.cs.vu.nl
- Directory :/pub/minix/pascal/
- description: Supports standard pascal with a few exceptions
- (set of.. , packed arrays, packed records,
- procedures/functions as parameters)
- features: Read the README file
- bugs: Cos, tan, sin.... does not work right !
- requires: PC-Minix 1.6.25 1.6.30 1.7.0
- help: <quintel@nibelung.Worms.Fh-Rpl.DE>
- support: <quintel@nibelung.Worms.Fh-Rpl.DE>
- announcements: comp.os.minix, comp.compilers
- contact: <quintel@nibelung.Worms.Fh-Rpl.DE>
- updated: 1995/01/09
-
- language: Pascal
- iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
-
- assemblers
- -------------------------------------------------------------------------------
- category: assemblers
-
- language: various assembly
- package: GNU assembler (GAS)
- version: 2.5.2
- parts: assembler, documentation
- author: ?
- location: ftp binutils-*.tar.z from a GNU archive site
- description: Many CPU types are now handled, and COFF and IEEE-695 formats
- are supported as well as standard a.out.
- bugs: bug-gnu-utils@prep.ai.mit.edu
- ports: Sun-3, Sun-4, i386/{386BSD, BSD/386, Linux, PS/2-AIX},
- VAX/{Ultrix,BSD,VMS}
- updated: 1994/11/02
-
- language: various assembly
- package: fas: Frankenstein Cross Assemblers
- version: ?
- parts: base assembler, parser modules (yacc), documentation?
- author: Mark Zenier
- location: ftp.njit.edu:/pub/msdos/frankasm/frankasm.zoo
- [Inform me of the other sites -Mark]
- description: A reconfigurable assembler package, especially suited for
- 8-bit processors, consisting of a base assembler module and
- a yacc parser, for each microprocessor, to handle mnemonics and
- addressing. Second party parser modules available from many
- sites.
- requires: YACC
- updated: ?
-
- language: 6502, Z80, 8085, 68xx
- package: ?
- version: ?
- parts: ?
- author: msmakela@cc.helsinki.fi and Alan R. Baldwin
- location: ftp ? from ccosun.caltech.edu
- description: I have enhanced a set of 68xx and Z80 and 8085 cross assemblers
- to support 6502. These assemblers run on MS-DOS computers or on
- any systems that support standard Kerninghan & Richie C, for
- example, Amiga, Atari ST and any "big" machines
- updated: 1993/03/10
-
- language: 6502, 6800, and 16 and 32 bit machine-independent skeletons
- package: ?
- version: ?
- parts: assembler, manual
- author: Doug Jones <jones@cs.uiowa.edu>
- location: http://www.cs.uiowa.edu/~jones/cross/
- ftp.cs.uiowa.edu:/pub/jones/smal
- description: Supports macro and conditional features, even, as well as
- being usable for linkage editing of object files. Easy
- to modify to support other machines.
- requires: Pascal
- updated: ?
-
- language: 65xx assembler
- package: d65 disassembler
- version: 0.1.0
- parts: disassembler, documentation
- author: Marko.Makela@Helsinki.FIo
- location: ftp.funet.fi in /pub/cbm/programming/d65-0.1.0.tar.gz.
- description: A disassembler for the 65xx microprocessor.
- ports: Unix
- updated: 1994/06/15
-
- language: mc6809
- package: usim
- version: 0.90
- parts: simulator, documentation
- author: Ray P. Bellis <rpb@psy.ox.ac.uk>
- location: ftp /pub/mc6809/usim-* from ftp.mrc-bbc.ox.ac.uk
- Alt.sources archive at FTP site:
- wuarchive.wustl.edu in usenet/alt.sources/articles
- files 10405.Z 10406.Z and 10407.Z
- description: a mc6809 simulator
- updated: 1994/05/30
-
- language: mc6809
- package: 6809, E-Forth
- version: ?
- parts: assembler, simulator
- author: Lennart Benschop <lennart@blade.stack.urc.tue.nl>
- location: alt.sources, 1993/11/03 <2b8i2r$j0e@tuegate.tue.nl>
- description: An assembler and simulator for the Motorola M6809 processor.
- Also included is a Forth interpreter, E-Forth written
- in 6809.
- ports: assembler: Unix, DOS; simulator: Unix
- updated: 1993/11/03
-
- language: 68HC11
- package: 68HC11 simulator
- version: ? 1
- parts: simulator
- author: Ted Dunning <ted@nmsu.edu>
- location: ftp pub/non-lexical/6811/sim6811.shar from crl.nmsu.edu
- description: An opcode simulator for the 68HC11 processor. Interrupts,
- hardware I/O, and half carries are still outside the loop.
- [Adding interrupts may require simulating at the clock phase
- level -Mark]
- ports: unix?, ms-dos
- updated: 1993/07/28
-
- language: 8051
- package: CAS 8051 Assembler
- version: 1.2
- parts: assembler/linker, disassembler, documentation, examples
- author: Mark Hopkins <mark@freenet.uwm.edu>
- location: ftp pub/8051/assem from lyman.pppl.gov
- Europe: ftp pub/microprocs/MCS-51/csd4-archive/assem from nic.funet.fi
- description: experimental one-pass assembler for the 8051 with C-like
- syntax. Most features of a modern assembler included except
- macros (soon to be added). Other software tools and
- applications contained in /pub/compilers/8051/*.
- requires: ANSI-C compiler
- ports: MSDOS, Ultrix, Sun4 (contact author)
- updated: 1993/07/22
-
- language: 8051
- package: as31 - An 8031/8051 assembler.
- version: ? 1
- parts: assembler, parser(yacc), documentation
- author: Ken Stauffer <stauffer@cpsc.ucalgary.ca>
- (Theo Deraadt wrote the S-record output routines)
- location: comp.sources.misc volume 10
- description: Assembler with ability to produce a variety of object output
- formats, including S-records.
- ports: SUN 3 / SUN 4 (SunOS 4.0), Tandy 6000 (Xenix)
- portability: File I/O may require porting on non-Unixs.
- updated: 1990/01/26
-
- language: MIL-STD-1750 assembly
- package: as1750
- version: 0.8
- parts: assembler and linker (monolithic)
- author: Oliver M. Kellogg <okellogg@cube.net>
- location: ftp /pub/crossgcc/1750gals/as1750-0.7.tar.gz from host
- ftp.fta-berlin.de
- description: Simple assembler for the MIL-STD-1750 (A and B) instruction
- set. This is the assembler used by gcc-1750a.
- Assembly and linkage are not separate passes: load modules
- are generated directly from sources, without object files.
- features: + produces Tektronix Extended Hex or TLD LDM load modules
- + parameterized macros (MACRO/ENDMACRO)
- + macro variables (SET)
- + macro expressions with operators as in the C language
- + conditional assembly (IF/ELSIF/ELSE/ENDIF)
- + repeated assembly (WHILE/ENDWHILE)
- + small and fast
- - no linker control directive file, the only means of
- linkage control is via ORG statements
- restriction: GNU General Public License
- requires: 32-bit ANSI C compiler (gcc is just fine)
- ports: Unix, VMS, DOS
- status: actively developed
- announcements: The Cross-GCC List <crossgcc@prosun.first.gmd.de>
- updated: 1995/06/24
-
- language: Motorola DSP56000
- package: ?
- version: 1.1
- parts: assembler
- author: Quinn Jensen <jensenq@qcj.icon.com>
- location: alt.sources archive or ftp ? from wuarchive.wustl.edu
- description: ?
- updated: ?
-
- language: Motorola DSP56001
- package: a56
- version: 1.2
- parts: assembler
- author: Quinn Jensen <jensenq@qcj.icon.com>
- location: ftp pub/pin/misc/a56/a56v1.2* from ftp.novell.com
- description: DSP56001 cross-assembler written in YACC. Produces
- OMF or S-record format output suitable for serial download
- or EPROM. Package includes sample 56001 code fragments
- that implement musical DSP effects like reverberation,
- chorus, and flange.
- ports: Unix, DOS
- announcements: comp.dsp,comp.music
- updated: 1994/09/07
-
- language: DSP32C
- package: a32src
- version: ?
- parts: assembler
- author: Tom Roberts <tjrob@iexist.att.com>
- location: comp.sources.misc volume 44
- description: This is an assembler for the AT&T DSP32C Digital Signal
- Processor chip. This is source for the assembler and for an
- enhanced C pre-processor; a DSP test program is included.
- portability: probably high
- ports: MS-DOS
- updated: 1994/09/23
-
- language: 80486
- package: WDASM17B.ZIP - Windows 80486 Disassembler for Windows 3.1
- version: 1.7b
- parts: disassembler
- author: Eric Grass <S876795@UMSLVMA.UMSL.EDU>
- location: SIMTEL20, pd1:<msdos.windows3>
- description: An interactive 80486 disassembler for Windows 3.1. Multiple
- options for formatting disassembly exist.
- ports: Windows3.1
- portability: Windows-specific
- updated: 1993/06/29
-
- language: Assember (SPARC)
- package: elfdis
- version: 2.3
- parts: disassembler
- author: Bruce Ediger <bediger@teal.csn.org>
- location: comp.sources.misc archives volume 42, issue 83
- description: An object code disassembler for SPARC which, unlike the native
- SPARC disassembler, uses the relocation and dynamic linking
- information in the Elf file.
- updated: 1994/05/08
-
- language: 68000 assembler
- package: m68kdis
- version: ??
- parts: documentation, disassembler
- author: Christopher Phillips <pefv700@chpc.utexas.edu>
- location: comp.sources.misc volume 45
- description: A disassembler for the M68000 family of microprocessors.
- Some extra functionality for Macintosh resource forks is provided.
- updated: 1994/11/08
-
- language: PDP-11 macro assembly
- package: PDPXASM.EXE
- version: 2.20
- parts: assembler, linker, disassembler, serial line loader,
- library routines
- author: Jim Cook <jcook@halcyon.com>
- location: ftp://ftp.idiom.com/pub/msdos/pdpxasm.exe
- description: A cross assembler that runs on the IBM PC/AT family. Assembles
- PDP-11 into core image files. Developed for use in
- testing an add-in PDP-11 clone board.
- reference: Brief help files/screens for each program.
- features: 1. Macro and .IRP support
- bugs: Contact jcook@halcyon.com
- restriction: May not be sold for profit. Must be distributed in toto.
- requires: 2mb on a MS-DOS compatible machine.
- updated: 1995/06/02
-
- macro preprocessors
- -------------------------------------------------------------------------------
- category: macro preprocessors
- description: These are tools that expand macros for another language.
- iref: (C) GNU CC
- iref: (C) lcc
-
- language: C preprocessor
- package: Decus cpp
- version: ?
- parts: pre-processor
- author: Martin Minow
- location: included in the X11R5 distribution as contrib/util/cpp
- description: An almost-ANSI C preprocessor. It is shipped with X11R5
- because some systems don't have a working cpp.
- ports: VMS (Vax C, Decus C), RSX-11M, RSTS/E, P/OS, and RT11,
- A/UX, Apollo Domain/IX 9.6, etc.
- portability: very high
- updated: ?
-
- language: C-Refine,C++-Refine&comma *-Refine
- package: crefine
- version: 3.0
- parts: pre-processor, documentation
- author: Lutz Prechelt <prechelt@ira.uka.de>
- location: aquire from any comp.sources.reviewed archive
- description: C-Refine is a preprocessor for C and languages that
- vaguely resemble C's syntax. It allows symbolic naming
- of code fragments so as to redistribute complexity and
- provide running commentary.
- ports: unix, msdos, atari, amiga.
- portability: high
- updated: 1992/07/16
-
- language: gema
- package: gema
- version: 1.1
- parts: macro processor, documentation, examples.
- author: David N. Gray <DGray@acm.org>
- location: FTP /pub/gema/gema.tar.gz from ftp.ugcs.caltech.edu
- MS-DOS executable in file exe.zip
- To just view doc: http://www.ugcs.caltech.edu/gema/
- description: A general-purpose macro processor that uses pattern
- matching and replacement. It can be used as a
- pre-processor or to translate one language to another, or
- to extract selected information from files.
- features: + Does not impose any particular syntax for macro calls.
- + No built-in assumptions about input language syntax.
- + Can recognize patterns spanning multiple lines.
- + Handles recursive patterns, such as matching pairs of
- nested parentheses.
- + Different sets of rules can be used in different contexts.
- + Easy to ignore redundant white space.
- requires: ANSI C compiler
- ports: Unix, MS-DOS, Windows/NT
- updated: 1995/05/23
-
- language: m4
- package: pd/bsd m4
- version: ?
- parts: interpreter, man page
- author: Ozan Yigit <oz@sis.yorku.ca>,
- Richard A. O'Keefe <ok@goanna.cs.rmit.OZ.AU>
- location: ftp from any 386BSD, NetBSD, or FreeBSD archive
- description: A macro preprocessor, more flexible than cpp
- conformance: ?
- updated: 1993/11/03
-
- language: m4
- package: GNU m4
- version: 1.4
- parts: interperter
- author: Francois Pinard <pinard@iro.umontreal.ca>
- location: ftp m4-1.4.tar.gz from a GNU archive site
- Macintosh: ftp pub/software/mac/src/mpw-c/* from nic.switch.ch.
- description: A macro preprocessor, more flexible than cpp.
- It copies its input to the output, expanding macros. Macros
- are either built-in or user-defined. `m4' has built-in
- functions for including files, running Unix commands, doing
- integer arithmetic, manipulating text in various ways,
- recursing, etc. `m4' can be used either as a front-end to a
- compiler or as a macro processor in its own right.
- conformance: Mostly SVR4 compatible with a few extensions.
- restriction: GNU General Public License
- updated: 1994/11/06
-
- special purpose languages
- -------------------------------------------------------------------------------
- category: special purpose languages
- description: Languages with very specific purposes that are the only free
- language in that niche (otherwise they would have a category)
-
- language: ADL (Adventure Definition Language)
- package: ADL
- version: ?
- parts: interpreter
- author: Ross Cunniff <cunniff@fc.hp.com>, Tim Brengle
- location: comp.sources.games archive volume 2
- description: An adventure language, semi-object-oriented with LISP-like
- syntax. A superset of DDL.
- updated: ?
-
- language: ASA
- package: Adaptive Simulated Annealing (ASA)
- version: 9.4
- parts: ?
- author: Lester Ingber <ingber@alumni.caltech.edu>
- location: ftp://ftp.alumni.caltech.edu/pub/ingber
- http://www.alumni.caltech.edu/~ingber/
- description: ? Language interface to neural net simulator?
- discussion: asa-request@alumni.caltech.edu
- updated: 1995/09/03
-
- language: ASN.1 (Abstract Syntax Notation One)
- package: snacc (Sample Neufeld ASN.1 to C/C++ Compiler)
- version: 1.1
- parts: compiler, runtime BER libraries, utility progs
- author: Mike Sample <msample@cs.ubc.ca>
- location: ftp /pub/local/src/snacc/snacc1.1.tar.Z from ftp.cs.ubc.ca
- description: ASN.1 is a language used to describe data structures in a
- machine and implementation lang independent way. Basic
- Encoding Rules (BER) provide a universal (contiguous)
- representation of data values. ASN.1 & BER were designed to
- exchange data (with complex structure) over networks. OSI
- Application protocols such as X.400 MHS (email) and X.500
- directory and others protocols such as SNMP use ASN.1 to
- describe the PDUs they exchange. Snacc compiles 1990 ASN.1
- (including some macros) data structures into C, C++ or type
- tables. The generated C/C++ includes a .h file with the
- equivalent data struct and a .c/.C file for the BER encode and
- decode, print and free routines.
- conformance: ITU T X.680/ISO 8824 (1994)
- CCITT X.208 (1988), aka CCITT X.409 (1984)
- reference: Michael Sample and Gerald Neufeld, "Implementing Efficient
- Encoders and Decoders for Network Data Representations",
- IEEE INFOCOM '93 Proceedings, Vol 3, pp 1143-1153, Mar 1993
- Michael Sample, "How Fast Can ASN.1 Encoding Rules Go?",
- M.Sc. Thesis, University of British Columbia, Apr 1993
- restriction: Compiles under GNU Public License. No restriction on libs
- and C/C++/tables generated by snacc.
- requires: yacc (or bison), lex (or flex) and cc (ANSI or non-ANSI)
- contact: mailing list: <snacc@cs.ubc.ca>
- mailing list join/quit requests: <snacc-request@cs.ubc.ca>
- Barry Brachman <brachman@cs.ubc.ca>
- updated: 1993/07/12
-
- language: CLIPS
- package: CLIPS
- version: 6.02
- parts: interpreter
- author: Gary Riley and Brian Donnell
- location: ftp user/ai/areas/expert/systems/clips from ftp.cs.cmu.edu
- description: CLIPS is an expert system tool which provides a complete
- environment for the construction of rule and/or
- object based expert systems (computer programs which emulate
- human expertise). CLIPS provides a cohesive tool for handling
- a wide variety of knowledge with support for three different
- programming paradigms: rule-based, object-oriented and
- procedural.
- bugs: A list of bug fixes for CLIPS 6.0 and the replacement source
- files to fix the bugs are available by anonymous ftp from
- hubble.jsc.nasa.gov in the directory /pub/clips/Bug-Fixes.
- ports: Mac, Win 3.1, DOS, Sun Sparc (X Windows), others.
- portability: Highly portable.
- requires: ANSI C Compiler
- status: active, supported
- discussion: Mailing list - send a single line message to
- listserv@cossack.cosmic.uga.edu saying SUBSCRIBE CLIPS-LIST
- Usenet - comp.ai.shells
- help:
- support: Software Technology Branch (STB) Help Desk
- voice - (713)286-8919 from 9:00 AM to 4:00 PM (CST).
- email - <stbprod@fdr.jsc.nasa.gov>
- FAX - (713) 244-5698.
- updated: 5/5/94
-
- language: Duel (a <practical> C debugging language)
- package: DUEL
- version: 1.10
- parts: interpreter, stand-alone module, documentation, test suites
- author: Michael Golan <mg@cs.princeton.edu>
- location: ftp duel/* from ftp.cs.princeton.edu
- description: DUEL acts as front end to gdb. It implements a language
- designed for debbuging C programs. It mainly features
- efficient ways to select and display data items. It is
- normally linked into the gdb executable, but could stand
- alone. It interprets a subset of C in addition to its
- own language.
- requires: gdb
- status: author is pushing the system hard.
- updated: 1993/03/20
-
- language: IDL (Project DOE's Interface Definition Language)
- package: SunSoft OMG IDL CFE
- version: 1.2
- parts: compiler front end, documentation
- author: SunSoft Inc.
- location: ftp pub/OMG_IDL_CFE_1.2/* from omg.org
- description: OMG's (Object Management Group) CORBA 1.1 (Common
- Object Request Broker Architecture) specification
- provides the standard interface definition between
- OMG-compliant objects. IDL (Interface Definition
- Language) is the base mechanism for object
- interaction. The SunSoft OMG IDL CFE (Compiler Front
- End) provides a complete framework for building CORBA
- 1.1-compliant preprocessors for OMG IDL. To use
- SunSoft OMG IDL CFE, you must write a back-end; full
- instructions are included. A complete compiler of IDL would
- translate IDL into client side and server side routines for
- remote communication in the same manner as the currrent Sun
- RPCL compiler. The additional degree of freedom that the IDL
- compiler front end provides is that it allows integration of
- new back ends which can translate IDL to various programming
- languages. Several companies including Sunsoft are building
- back ends to the CFE which translate IDL into target languages,
- e.g. Pascal or C++, in the context of planned CORBA-compliant
- products.
- requires: C++ 2.1 conformant C++ compiler
- contact: idl-cfe@sun.com
- updated: 1993/05/04
-
- language: NeuDL
- package: NeuDL - Neural-Network Description Language
- version: 0.2
- parts: NeuDL interpreter, translator (NewDL->C++), user manual,
- NeuDL paper, examples
- author: Joey Rogers <jrogers@buster.eng.ua.edu>
- location: cs.ua.edu in /pub/neudl/NeuDLver02.tar.gz
- description: A prototype of a neural network description language with a
- C++ - like syntax currently limited to backpropagation neural
- nets. There is enough flexibility in the language, though, to
- allow users to create dynamic neural net configurations. The
- source is written in C++.
- updated: 1994/05/23
-
- language: NeuronC
- package: nc
- version: ?
- parts: ?
- author: Robert G. Smith <rob@bip.anatomy.upenn.edu>
- location: retina.anatomy.upenn.edu:pub/nc.tgz
- description: Neuronc ("nc") is a general-purpose programming language with
- a C-like syntax with special features for simulating large
- neural circuits using compartments. The source is written in
- C++, but facilities are included for converting the software
- to ANSI-C.
- reference: Smith, R.G. (1992) NeuronC: a computational language for
- investigating functional architecture of neural circuits.
- J. Neurosci. Meth. 43: 83-108.
- ports: Unix: SGI, Sun, IBM AIX, and Linux.
- updated: 1994/05/24
-
- language: NewsClip ?
- package: NewsClip
- version: 1.01
- parts: translator(NewsClip->C), examples, documentation
- author: Looking Glass Software Limited but distributed by
- ClariNet Communications Corp.
- location: ?
- description: NewsClip is a very high level language designed for
- writing netnews filters. It translates into C.
- It includes support for various newsreaders.
- restriction: Cannot sell the output of the filters. Donation is hinted at.
- status: supported for ClariNet customers only
- contact: newsclip@clarinet.com
- updated: 1992/10/25
-
- language: PROGRES
- package: PROGRES
- version: RWTH 5.10
- parts: environment, interpreter, database, ?
- author: Dr. Andy Schuerr <andy@i3.informatik.rwth-aachen.de>,
- Albert Zuendorf <albert@i3.informatik.rwth-aachen.de>
- location: send mail to authors
- sun4-bin: ftp pub/unix/PROGRES/? from ftp.informatik.rwth-aachen.de
- description: PROGRES is an integrated environment for a very high level
- programming language which has a formally defined semantics
- based on "PROgrammed Graph Rewriting Systems". This language
- supports the following programming paradigms/purposes: 1)
- Structurally object-oriented specification of attributed graph
- structures with multiple inheritance hierarchies and types of
- types (for parametric polymorphy). 2) Declarative/relational
- specification of derived attributes, node sets, binary
- relationships (directed edges), and Boolean constraints. 3)
- Rule-oriented/visual specification of parameterized graph
- rewrite rules with complex application conditions. 4)
- Nondeterministic & imperative programming of composite graph
- transformations (with built-in backtracking and cancelling
- arbitrary sequences of failing graph modifications).
- Therefore, PROGRES may be used as 1) a very high level
- programming language for implementing abstract data types with
- a graph-like internal structure, 2) a visual database
- programming language for the graph-oriented database system
- GRAS (which is available as free software under the GNU license
- conditions), 3) a rule-oriented language for rapid prototyping
- nondeterministically specified data/rule base transformations.
- Furthermore, PROGRES is an almost statically typed language
- which additionally offers "down casting" operators for runtime
- checked type casting/conversion (in order to avoid severe
- restrictions concerning the language's expressiveness).
- PROGRES is meant to be used with GRAS, which is also available
- updated: 1993/11/02
-
- language: Tiny
- package: Omega test, Extended Tiny
- version: 3.2.2
- parts: translator(fortran->tiny), tiny interpreter?, analysis tools
- author: William Pugh <pugh@cs.umd.edu> and others
- location: ftp pub/omega from ftp.cs.umd.edu
- description: The Omega test is implemented in an extended version of
- Michael Wolfe's tiny tool, a research/educational tool
- for examining array data dependence algorithms and
- program transformations for scientific computations.
- The extended version of tiny can be used as a
- educational or research tool. The Omega test: A system
- for performing symbolic manipulations of conjunctions
- of linear constraints over integer variables. The
- Omega test dependence analyzer: A system built on top
- of the Omega test to analyze array data dependences.
- contact: omega@cs.umd.edu
- updated: 1992/11/13
-
- language: Extended Tiny
- package: Extended Tiny
- version: 3.0 (Dec 12th, 1992)
- parts: programming environment, dependence tester, tests
- translator(Fortran->tiny), documentation, tech. reports
- author: original author: Michael Wolfe <cse.ogi.edu>,
- extended by William Pugh et al. <pugh@cs.umd.edu>
- location: ftp pub/omega from cs.umd.edu
- description: A research/educational tool for experimenting with
- array data dependence tests and reordering transformations.
- It works with a language tiny, which does not have procedures,
- goto's, pointers, or other features that complicate dependence
- testing. The original version of tiny was written by Michael
- Wolfe, and has been extended substantially by a research group
- at the University of Maryland. Michael Wolfe has made further
- extensions to his version of tiny.
- ports: Any unix system (xterm helpful but not required)
- contact: Omega test research group <omega@cs.umd.edu>
- updated: 1993/01/23
-
- language: SQL
- package: _lex & yacc_ by Levine, Mason & Brown published by O'Reilly
- version: ?
- parts: book, grammar
- author: Levine, Mason & Brown
- location: buy the book, or ftp published/oreilly/nutshell/lexyacc/?
- from ftp.uu.net.
- description: In _lex & yacc_, by Levine, Mason & Brown an SQL parser
- is included as an example grammar
- updated: ?
-
- language: SQL
- package: MultiCal System
- version: ?
- parts: ?
- author: Richard Snodgrass?
- location: ftp tsql/multical from FTP.cs.arizona.edu.
- description: [Anyone care to write a description? - ed]
- restriction: public domain, freely available
- contact: rts@cs.arizona.edu
- updated: ?
-
- language: SQL
- package: mSQL (Mini SQL)
- version: 0.1
- parts: ? interpreter, documentation
- author: David J. Hughes <bambi@kirk.Bond.edu.au>
- location: Bond.edu.au [131.244.1.1] in /pub/Bond_Uni/Minerva
- description: Subset of ANSI SQL implemented with client-server support
- over TCP/IP.
- updated: 1994/07/12
-
- language: ModSim - U. S. Army ModSim compiler
- package: USAModSim
- version: 1.0
- parts: compiler(->C), compilation manager, browser, library,
- database interface language, documentation
- author: ?
- location: ftp from max.cecer.army.mil in /ftp/isle
- description: ModSim is a general-purpose, block-structured, object-
- oriented programming language with built in support
- for Simulation. Its "parent languages" are Modula-2 and
- Simula. It supports multiple inheritance, templates,
- reference types, polymorphism, and process-oriented
- simulation with synchronous and asynchronous activities
- using explicit simulation time.
- The documentation is extensive (>300 pages) and very good.
- ports: SPARC/SunOS, Silicon Graphics.
- According to the Doc, there is a DOS-Version (not found
- on the server.
- contact: Charles Herring <herring@lincoln.cecer.army.mil>
- updated: 1993/12/29
-
- natural languages
- -------------------------------------------------------------------------------
- category: natural languages
- description: These are tools that interact with human languages.
-
- language: natural languages
- package: Pleuk grammar development system
- version: 1.0
- parts: shell, examples, documentation
- author: Jo Calder <jcalder@cs.sfu.ca>, Kevin Humphreys
- <kwh@cogsci.ed.ac.uk>, Chris Brew <chrisbr@cogsci.ed.ac.uk>,
- Mike Reape <mreape@cs.tcd.ie>
- location: ftp from hostname ai.uga.edu: /ai.natural.language/
- description: A shell for grammar development, handles various grammatical
- formalisms.
- requires: SICStus Prolog version 2.1#6 or later, and other programs
- readily available from the public domain.
- contact: pleuk@cogsci.ed.ac.uk.
- updated: 1993/06/18
-
- language: natural languages
- package: proof
- version: ?
- parts: parser, documentation
- author: Craig R. Latta <latta@xcf.Berkeley.EDU>
- location: ftp src/local/proof/* from scam.berkeley.edu
- description: a left-associative natural language grammar scanner
- bugs: proof@xcf.berkeley.edu
- ports: Decstation3100 Sun-4
- discussion: proof-request@xcf.berkeley.edu ("Subject: add me")
- updated: 1991/09/23
-
- curiosities
- -------------------------------------------------------------------------------
- category: curiosities
- description: These are the languages and tools that I could not fit into one
- of the other categories. I am quite willing to reclassify
- these if provided with a rational way to do so.
-
- language: a1 (Address 1 code)
- package: a1 code interpreter
- version: ? 1
- parts: interpreter, examples
- author: Matthew Newhook <matthew@engr.mun.ca>
- location: garfield.cs.mun.ca:/pub/a1/a1.tar.Z
- description: An address 1 code interpreter used to test compiler output.
- requires: gcc 2.4.2 or higher
- portability: Ports to machine without memory segment protection unverified.
- updated: 1993/06/02
-
- language: INTERCAL
- package: C-INTERCAL
- version: 0.10
- parts: compiler(->C), library, documentation
- author: Eric S. Raymond <esr@snark.thyrsus.com>
- location: ftp locke.ccil.org:pub/retro/intercal-0.10.tar.gz
- (in the Museum of Retrocomputing)
- description: INTERCAL is possibly the most elaborate and long-lived joke
- in the history of programming languages. It was first designed
- by Don Woods and Jim Lyons in 1972 as a deliberate attempt
- to produce a language as unlike any existing one as possible.
- The manual, describing features of horrifying uniqueness,
- became an underground classic. ESR wrote C-INTERCAL in 1990
- as a break from editing _The_New_Hacker's_Dictionary_, adding
- to it the first implementation of COME FROM under its own name.
- The compiler has since been maintained and extended by an
- international community of technomasochists. The distribution
- includes extensive documentation and a program library.
- C-INTERCAL is actually an INTERCAL-to-C source translator which
- then calls the local C compiler to generate a binary. The code
- is thus quite portable.
- contact: Steve Swales <steve@bat.lle.rochester.edu>
- updated: 1993/05/20
-
- language: MIX
- package: mix
- version: 1.05
- parts: interpreter, examples.
- author: Darius Bacon <djello@well.sf.ca.us>
- location: ftp locke.ccil.org:pub/retro/mix-1.5.shar.gz
- (in the Museum of Retrocomputing)
- description: An interpreter for the MIX pseudoassembler used for
- algorithm description in Volume I of Donald Knuth's
- "The Art Of Computer Programming".
- status: preliminary release of a program under active development
- portability: Any ANSI C host
- updated: 1994/10/20
-
- language: Loglan'82
- package: Loglan82
- version: ?
- parts: Cross-Compiler (->C)
- author: ?
- location: ftp pub/Loglan82 from infpc1.univ-pau.fr
- description: The academic community has a need for one language which
- enables to teach all elements of object programming: classes &
- objects, coroutines, processes (in Loglan'82 processes are
- objects which are able to act in parallel), inheritance,
- exception handling, dynamic arrays etc.
- Loglan'82 offers the complete sets of programming tools used in
- object and modular and structural programming. It is suggested
- to use it duringthe first two years of teaching and afterwards
- too.
- Loglan'82 supports other styles of programming e.g. programming
- by rules, functional programming etc.
- restriction: GNU General Public License
- requires: ?
- announcements: send "SUBSCRIBE loglan82 <your_first_name> <your_name>"
- to loglan82-request@crisv1.univ-pau.fr
- contact: Andrzej.Salwicki@univ-pau.fr
- updated: 1994/2/15
-
- language: TRAC
- package: trac
- version: 1.1
- parts: interpreter, documentation, examples.
- author: Jown Cowan <cowan@locke.ccil.org>
- location: ftp locke.ccil.org:pub/retro/trac.shar.gz
- (in the Museum of Retrocomputing)
- description: TRAC is an interactive language built around the idea that
- everything is a macro. Analogous to APL, in that it is an
- elegant language with peculiar syntax that pushes one idea as
- far as it can go.
- bugs: report to Jown Cowan <cowan@locke.ccil.org>
- portability: Written in Perl; any host with a Perl can run it.
- updated: 1994/10/16
-
- language: OISC
- package: oisc
- version: we don't need no steenking versions
- parts: interpreter, documentation, examples.
- author: Ross Cunniff <cunniff@hpross.fc.hp.com>
- location: ftp locke.ccil.org:pub/retro/oisc.shar.gz
- (in the Museum of Retrocomputing)
- description: You've heard of RISC, Reduced Instruction Set Computers?
- Well, here is the concept taken to its logical extreme -- an
- emulator for a computer with just one (1) instruction!
- Illustrative programs in the OISC machine language are
- included.
-
- language: orthogonal
- package: orthogonal
- version: ?
- parts: interpreter, documentation, examples.
- author: Jeff Epler <jepler@herbie.unl.edu>
- location: ftp pub/retro/orthogonal.shar.gz from locke.ccil.org
- (in the Museum of Retrocomputing)
- description: A mini-language composed in September 1994 as a response to a
- speculative thread on the USENET group alt.lang.intercal,
- designed to explore the possibility of truly two-dimensional
- control structures. Vaguely FORTH-like, except that control
- flow can move forward, backward, or sideways (or even
- diagonally!).
- updated: 1994/09/24
-
- unable to classify due to lack of knowledge
- -------------------------------------------------------------------------------
- category: unable to classify due to lack of knowledge
- description: [Please help. --ed]
-
- language: Cantata - Extensible Visual Programming Language
- package: Khoros
- version: 2.0.2
- parts: Preview - Graphical User Interface Display Tool
- Composer - Interactive Graphical User Interface Editor
- Conductor - Code Generation Tool for Graphical User Interface
- Ghostwriter - Code Generation Tool for a Command Line User
- Interface
- Source Configuration & Management - Tools to install and
- maintain a distributed source tree
- Animate - Interactive Image Sequence Display Tool
- Concert - System for distributed X user interface (groupware)
- Editimage - Interactive Image Display & Manipulation Program
- Xprism2 and Xprism3 - 2D and 3D Plotting Packages
- Viewimage - A basic interactive program for surface rendering
- Warpimage - An interactive program for registering and
- warping images
- documentation
- author: Khoral Research Inc
- location:
- USA
- ftp.khoral.com [198.59.155.28] /pub/khoros2.0
- GERMANY
- ftp.e20.physik.tu-muenchen.de
- BRAZIL
- ftp.unicamp.br [143.106.10.54] /pub/khoros2.0
- description: Khoros is an integrated software development environment for
- information processing and visualization, based on the X
- Windows System and utilizing the MOTIF, Athena and OLIT
- widget sets.
- reference: Rasure and Kubica, "The Khoros Application Development
- Environment", Experimental Environments for Computer Vision
- and Image Processing, editor H.I Christensen and J.L Crowley,
- World Scientific 1994.
- Konstantinides and Rasure, "The Khoros Software Development
- Environment For Image And Signal Processing", IEEE
- Transactions on Image Processing, VOL. 3, No. 3 May 1994,
- pp. 243-252.
- Rasure, Williams, Argiro, and Sauer, "A Visual Language and
- Software Development Environment for Image Processing",
- International Journal of Imaging Systems and Technology, Vol.
- 2, pp 183-199 (1990)
- Man pages included with software distribution.
- bugs: k2-xvapp-bugs-FAQ, k2-xvlib-bugs-FAQ
- restriction: Free access to Khoros, but not in the public domain. The
- software is owned by Khoral Research, Inc., and does carry a
- License and Copyright. While Khoros may be used by any
- organization free of charge, it can not be distributed
- without a license. All users of the system should register
- with Khoral Research and agree to abide by the Free Access
- License terms and conditions.
- requires: gzip, C Compiler, X (R4-6), Athena, Motif, or OLIT, lex/yacc
- discussion: comp.soft-sys.khoros
- ports: Many Un*x ports
- help: Khoros Consortium, ftp://ftp.khoral.com/pub/khoros/FAQ
- ftp://ftp.khoral.com/pub/khoros2.0/manual
- support: http://ftp.khoros.unm.edu/
-
- language: Common Lisp
- package: Garnet
- version: 2.2
- parts: user interface builder
- author: The Garnet project
- location: ftp /usr/garnet/garnet from a.gp.cs.cmu.edu
- description: Garnet is a user interface development environment for Common
- Lisp and X11. It helps you create graphical, interactive
- user interfaces for your software. Garnet is a large scale
- system containing many features and parts including a custom
- object-oriented programming system which uses a
- prototype-instance model. It includes postscript support,
- gester recognition, and Motif emulation.
- contact: Brad_Myers@bam.garnet.cs.cmu.edu
- updated: October 15, 1993
-
- language: FMPL of Accardi
- package: FMPL interpreter
- version: 1
- parts: interpreter, documentation
- author: Jon Blow <blojo@xcf.berkeley.edu>
- location: ftp src/local/fmpl/* from xcf.berkeley.edu
- description: FMPL is an experimental prototype-based object-oriented
- programming language developed at the Experimental Computing
- Facility of the University of California, Berkeley.
- + lambda-calculus based constructs.
- + event-driven (mainly I/O events)
- updated: 1992/06/02
-
- language: Garnet
- package: Multi-Garnet
- version: 2.1
- parts: ?
- author: Michael Sannella <sannella@cs.washington.edu>
- location: ftp /usr/garnet/alpha/src/contrib/multi-garnet
- from a.gp.cs.cmu.edu
- description: better contstraint system for Garnet ??
- updated: 1992/09/21
-
- language: EXPRESS (ISO 10303, Part 11)
- package: NIST EXPRESS Toolkit
- version:
- parts: scanner (lex or flex), parser (yacc or bison), library
- author: Don Libes <libes@nist.gov>
- location: ftp pub/step/npttools/exptk.tar.Z from ftp.cme.nist.gov
- description: Compiler front-end for EXPRESS language. Several backends are
- available in the same location.
- conformance: CADDETC certified.
- reference: numerous documents on ftp.cme.nist.gov in
- pub/step/nptdocs/exptk-*.ps.Z
- EXPRESS Language Reference Manual
- features: Can be tried without installing by emailing EXPRESS schemas to
- express-server@cme.nist.gov
- bugs: exptk-admin@cme.nist.gov
- restriction: none, is public-domain
- requires: lex or flex, yacc or bison, C compiler
- ports: any UNIX or UNIX-like system
- portability: DOS port available from:
- status: Settling down now that it has been certified. A new version
- is in development for EXPRESS 2
- discussion: express-users-admin@cme.nist.gov (EXPRESS Users Mailing List)
- help: exptk-admin@cme.nist.gov
- support: exptk-admin@cme.nist.gov (not officially supported)
- contributions: no contributions, however a letter to your US congressional
- representative describing what a great (or lousy) job NIST is
- doing is helpful to maintaining (or destroying) our funding.
- announcements: EXPRESS Users Mailing List
- contact: exptk@cme.nist.gov
- updated: 1994/11/25
-
-
- -------------------------------------------------------------------------------
- references
- -------------------------------------------------------------------------------
-
- name: The Apple II Programmer's Catalog of Languages and Toolkits
- version: 3.0
- author: Larry W. Virden <lvirden@cas.org>
- location: posted to comp.sys.apple2, comp.lang.misc; ftp from
- pub/compilers-list/AppleIICatalog3.0 from ftp.idiom.com
- description: A survey of language tools available for the Apple ][.
- updated: 1994/08/26
-
- name: Catalog of embeddable Languages.
- version: 2
- author: Colas Nahaboo <colas@bagheera.inria.fr>
- location: posted to comp.lang.misc,comp.lang.tcl;
- ftp pub/EmbeddedInterpretersCatalog.txt from avahi.inria.fr
- description: Descriptions of languages from the point of view of
- embedding them.
- updated: 1992/07/09
-
- name: Compilers bibliography
- version: 1.5
- author: Charlie A. Lins
- location: ftp pub/oberon/comp_bib_1.4.Z from ftp.apple.com
- description: It includes all the POPLs, PLDIs, Compiler Construction,
- TOPLAS, and LOPAS. Plus various articles and papers from
- other sources on compilers and related topics.
- updated: 1992/10/31
-
- name: haskell-status
- version: ?
- author: Simon Peyton Jones <simonpj@dcs.glasgow.ac.uk>
- location: posted occasionally to ???
- description: A report, detailing the current features and status of
- all the implementations of Haskell.
- updated: ?
-
- name: Language List
- version: 2.1
- author: Bill Kinnersley <billk@hawk.cs.ukans.edu>
- location: posted regularly to comp.lang.misc;
- ftp pub/comp.compilers/LanguageList* from primost.cs.wisc.edu;
- ftp pub/compilers-list/LanguageList* from ftp.idiom.com
- description: Descriptions of almost every computer language there is.
- Many references to available source code.
- updated: 1993/09/11
-
- name: Numerical Analysis Using Non-Procedural Paradigms
- version: published thesis
- author: Steve Sullivan <sullivan@mathcom.com>
- location: ftp: ftp.mathcom.com /Mathcom/numex
- or send email to the author.
- description: A thesis, that among other things, compares
- and benchmarks: C++, Modula-3, Standard ML, Haskell,
- Sather, Common Lisp, Fortran 77, and Fortran 90.
- updated: 1995
-
- name: The Lisp FAQs
- version: 1.30
- author: Mark Kantrowitz <mkant+@cs.cmu.edu>
- location: posted regularly to comp.lang.lisp,news.answers,comp.answers
- description: Details of many lisps and systems written in lisps
- including many languages not covered elsewhere.
- updated: 1993/02/08
-
- name: Survey of Interpreted Languages
- version: ?
- author: Terrence Monroe Brannon <tb06@CS1.CC.Lehigh.ED>
- location: Posted to comp.lang.tcl,comp.lang.misc,comp.lang.perl,
- gnu.emacs.help,news.answers; or ftp
- pub/gnu/emacs/elisp-ar*/pack*/Hy*Act*F*/survey-inter*-languages
- from archive.cis.ohio-state.edu.
- description: Detailed comparision of a few interpreters: Emacs Lisp,
- Perl, Python, and Tcl.
- updated: ?
-
-
- -------------------------------------------------------------------------------
- archives
- -------------------------------------------------------------------------------
-
- language: Ada
- package: AdaX
- location: ftp pub/AdaX/* from falcon.stars.rosslyn.unisys.com
- description: an archive of X libraries for Ada. Includes Motif
- [note, I chose this server out of many somewhat randomly.
- Use archie to find others --ed]
- contact: ?
-
- language: APL, J
- package: APL, J, and other APL Software at Waterloo
- location: ftp languages/apl/index from watserv1.waterloo.edu
- contact: Leroy J. (Lee) Dickey <ljdickey@math.waterloo.edu>
-
- language: Assembler (Motorola)
- package: ?
- location: ftp bode.ee.ualberta.ca : /pub/dos/motorola
- description: An archive of development software and tools for the
- Motorola microcontroller series. Includes assemblers,
- a C compiler (6809), and applications. Comes mainly
- from the Austin Texas Motorola BBS.
-
- language: Assembler (Various)
- package: The Beowulf archive?
- location: hpcsos.col.hp.com : /misc/ns32k/beowulf
- description: An archive of assemblers for various 8-bit microcontrollers
-
- language: Assembler, Forth (8051)
- package: The Siemens 8051 archive
- location: ftp://ftp.pppl.gov/pub/8051/signetics-bbs/
- description: An archive for development software and tools for the 8051
- microcontroller.
- contact: jsm@phoenix.princeton.edu
-
- language: Assembler (8051)
- package: The CAS archive.
- location: ftp://nic.funet.fi/pub/microprocs/MCS-51/CAS/
- description: Another archive for development software and tools for the 8051
- microcontroller. May be converted into a general
- microprocessor archive in the future.
-
- language: C, C++, Objective-C, yacc, lex, postscript,
- sh, awk, smalltalk, sed
- package: the GNU archive sites
- location: NOTE: Many gnu files are now compressed with gzip. You can
- tell a gzip'ed file because it has a lower-case .z or
- .gz rather than the capital .Z that compress uses.
- Gzip is available from these same archives
- ftp pub/gnu/* from prep.ai.mit.edu
- USA: ftp mirrors4/gnu/* from wuarchive.wustl.edu
- ftp pub/src/gnu/* from ftp.cs.widener.edu
- ftp gnu/* from uxc.cso.uiuc.edu
- ftp mirrors/gnu/* from col.hp.com
- ftp pub/GNU/* from gatekeeper.dec.com
- ftp packages/gnu/* from ftp.uu.net
- Japan: ftp ? from ftp.cs.titech.ac.jp
- ftp ftpsync/prep/* from utsun.s.u-tokyo.ac.jp
- Australia: ftp gnu/* from archie.au
- Europe: ftp gnu/* from src.doc.ic.ac.uk
- ftp pub/GNU/*/* from ftp.informatik.tu-muenchen.de [re-org'ed]
- ftp pub/gnu/* from ftp.informatik.rwth-aachen.de
- ftp pub/gnu/* from nic.funet.fi
- ftp pub/gnu/* from ugle.unit.no
- ftp pub/gnu/* from isy.liu.se
- ftp pub/gnu/* from ftp.stacken.kth.se
- ftp pub/gnu/* from sunic.sunet.se [re-org'ed]
- ftp pub/gnu/* from ftp.win.tue.nl
- ftp pub/gnu/* from ftp.diku.dk
- ftp software/gnu/* from ftp.eunet.ch
- ftp gnu/* from archive.eu.net [re-org'ed]
- description: There are many sites which mirror the master gnu archives
- which live on prep.ai.mit.edu. Please do not use
- the master archive without good reason.
- restriction: Most GNU programs are CopyLeft'ed. That means that they
- are distributed under the terms of the GNU General
- Public License or GNU Library General Public License.
- The CopyLeft is only a concern if you want to use
- actual GNU code in your program. Using Gcc or any of
- the other tools is completely safe from a copyright
- point-of-view with the sole exception of bison which
- includes GNU code in its output. If you use a GNU
- library, you must supply an unlinked version of your
- program.
-
- language: C, C++
- package: LEARN C/C++ TODAY
- location: http://nyx10.cs.du.edu:8001/~vcarpent/learn-cpp.html or
- ftp pub/usenet/news.answers/C-faq/learn-c-cpp-today from rtfm.mit.edu
- descripton: The LEARN C/C++ TODAY list is a list of a few C and C++
- language tutorials available to a user. This list includes
- interactive tutorials, public-domain code collections, books
- etc.
- contact: Vinit S. Carpenter <carpenterv@vms.csd.mu.edu>
-
- language: Forth
- package: ?
- location: anonymous@asterix.inescn.pt[192.35.246.17]:pub/forth
- description: Forth implementations and programs
- contact: Paulo A. D. Ferreira <?>
-
- language: Haskell
- package: ?
- location: anonymous@ftp.cs.chalmers.se:pub/haskell/library
- anonymous@nebula.cs.yale.edu:pub/haskell/library
- anonymous@ftp.dcs.glasgow.ac.uk:pub/haskell/library
- description: An archive of Haskell and Gofer programs
-
- language: ALGOL-60, FOCAL, FOOGOL, INTERCAL, JCL, MIXAL, OISC, PILOT,
- TRAC, orthogonal, Little Smalltalk
- package: The Museum of Retrocomputing.
- location: locke.ccil.org:pub/retro
- description: The Museum of Retrocomputing. This archive collects
- implementations of languages that time forgot -- also,
- the jokes, freaks, and monstrosities from the history
- of language design.
-
- language: lisp
- package: MIT AI Lab archives
- location: ftp pub/* from ftp.ai.mit.edu
- description: archive of lisp extensions, utilities, and libraries
- contact: ?
-
- language: lisp
- package: Lisp Utilities collection
- location: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp from ftp.cs.cmu.edu
- description: ???
- contact: cl-utilities-request@cs.cmu.edu
-
- language: Scheme
- package: The Scheme Repository
- location: ftp pub/scheme/* from nexus.yorku.ca
- description: an archive of scheme material including a bibliography,
- the R4RS report, sample code, utilities, and implementations.
- contact: Ozan S. Yigit <scheme@nexus.yorku.ca>
-
- language: Smalltalk
- package: Manchester Smalltalk Goodies Library
- location: ftp uiuc/st*/* from st.cs.uiuc.edu
- UK: ftp uiuc/st*/* from mushroom.cs.man.ac.uk
- description: a large collection of libraries for smalltalk.
- Created by Alan Wills, administered by Mario Wolczko.
- contact: goodies-lib@cs.man.ac.uk
-
- language: Tcl
- package: Tcl/Tk Contrib Archive
- location: ftp tcl/* from barkley.berkeley.edu
- description: An archive of Tcl/tk things.
- contact: Jack Hsu <tcl-archive@barkley.berkeley.edu>
-
- language: TeX
- package: CTAN (Comprehensive TeX Archive Network
- location: ftp ~ftp/tex-archive/* from ftp.shsu.edu
- Europe: ftp ? from ftp.uni-stuttgart.de
- description: A large archive site of most all things TeX-related, including
- literate programming tools such as WEB and derivatives.
-
-
- -------------------------------------------------------------------------------
- cross-reference
- -------------------------------------------------------------------------------
- These are additional categories. When an implementation is in a category
- rather than a language, the language is indicated in (parenthesis).
-
- category: command shells
- description: These are the languages that treat bare words as programs
- to execute.
- lref: csh
- lref: ERGO-Shell
- lref: es
- lref: Korn Shell
- lref: Q
- lref: rc
- lref: ssh
- lref: Z-shell
-
- category: compiler frontend/backend glue
- description: These are the languages used to glue semantic analysers to
- code generators.
- lref: C -- C is often used as an intermediate step
- lref: RTL
- lref: SUIF
- iref: (lcc intermediate format) lcc
-
- category: database
- description: These are the languages that are either specifically designed
- for database access or have an interface to persistent
- data that is much more than embedded SQL.
- lref: PFL
- lref: PROGRES
- iref: (CooL) CooL-SPE
- iref: (E) GNU E
- iref: (Prolog) Aditi
- iref: (Prolog) CORAL
-
- category: programming in the large
- description: These are systems designed for large-scale programming
- projects.
- [I just added this category, so please add to it --ed]
- lref: C
- lref: C++
- lref: CooL
-
- category: distributed
- description: These are languages that include constructs that specifically
- support distributed programming.
- lref: Hermes
- lref: Glish
- iref: (Tcl) Tcl-DP
-
- category: dynamic foreign functions
- description: These tools can dynamically load C code at run-time.
- lref: Common Lisp
- lref: Python
- lref: Perl
- iref: (Scheme) Elk
-
- category: editor construction
- description: These are languages that are embedded in editors
- lref: IVY
- lref: S-Lang
- lref: elisp
-
- category: educational
- description: These are languages that are either designed for teaching,
- or are often used that way.
- lref: ABC
- lref: C
- lref: Logo
- lref: MIX
- lref: O'small
- lref: Pascal
- lref: PILOT
- lref: Scheme
-
- category: embeddable
- description: These tools can be used as scripting languages for programs
- written in C. They are all interpreted.
- lref: IVY
- lref: Perl
- lref: Python
- lref: S-Lang
- lref: Tcl
- iref: (C) ae
- iref: (Scheme) Elk
- iref: (Scheme) siod
-
- category: glue
- description: These are languages that are designed to tie other programs
- and libraries together.
- cref: dynamic foreign functions
- cref: command shells
- lref: Glish
- lref: REXX
-
- category: graphic user interface support
- description: These are the languages that have support for writing
- gui programs.
- cref: C variants
- lref: Common Lisp
- lref: LIFE
- lref: Python
- lref: Perl
- iref: (Caml) Caml Light
- iref: (CooL) CooL-SPE
- iref: (Prolog) PI
- iref: (Prolog) XWIP
- iref: (Scheme) Elk
- iref: (Scheme) ezd
- iref: (Scheme) STk
- iref: (Tcl) Tk
- iref: (Tcl) Wafe
-
- category: interactive
- description: These are the languages that are meant to be used
- interactively. [I'm sure there are more. Tell me! --ed]
- lref: Caml
- lref: Common Lisp
- lref: Q
- lref: TRAC
- iref: (C) ae
-
- category: reflective
- description: from Rainer Joswig (rainer@ki6.informatik.uni-hamburg.de) :
- To make it short: Reflective Languages have access to their own
- implementation. One can ask about the state of the running
- system and/or change aspects of the language.
- lref: ABCL ???
- lref: ABCL/1
- lref: MeldC
- lref: CLOS with MOP (Meta Object Protocol)
-
- category: terminal graphics support
- description: These are languages that can access curses, or have an
- equivalent.
- cref: C variants
- lref: ici
- lref: Perl
- lref: Python
- iref: (Fortran) F-curses
- iref: (Common Lisp) CLISP
- iref: (Scheme) scm
-
- category: text manipulation
- description: These languages have very high-level features for
- manipulating text.
- cref: compiler generators and related tools
- lref: Icon
- lref: Lex
- lref: Perl
- lref: Snobol4
-
- category: unix tool building
- description: These are languages that are appropriate for building tools
- in a Unix environment. To be included, direct access to
- most system features is required.
- lref: C
- lref: ici
- lref: Perl
- lref: Python
- lref: Tcl
- iref: (Scheme) scsh
-
- category: window manager construction
- description: These are languages that are built into window managers
- iref: (Lisp) GWM
-
- --
- Send compilers articles to compilers@iecc.com,
- meta-mail to compilers-request@iecc.com.
-