Article 21955 of comp.lang.misc: Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers Path: nntpd.lkg.dec.com!crl.dec.com!crl.dec.com!bloom-beacon.mit.edu!news.kei.com!world!iecc!compilers-sender From: free-compilers@idiom.com (Steven Robenalt) Subject: Catalog of compilers, interpreters, and other language tools [p5of5] Message-ID: Followup-To: comp.lang.misc Summary: Monthly posting of free language tools that include source code Keywords: tools, FTP, administrivia Sender: compilers-sender@chico.iecc.com Supersedes: Reply-To: free-compilers@idiom.com (Steven Robenalt) Organization: Idiom Consulting / Berkeley, CA References: Date: Sat, 1 Jul 1995 11:01:02 GMT Approved: compilers@iecc.com Expires: Tue, 1 Aug 1995 23:59:00 GMT Lines: 1643 Xref: nntpd.lkg.dec.com comp.compilers:9020 comp.lang.misc:21955 comp.archives.admin:1894 news.answers:46987 comp.answers:12595 Archive-name: free-compilers/part5 Last-modified: 1995/05/04 Version: 8.0 Wirth family languages ------------------------------------------------------------------------------ category: Wirth family languages description: These are the languages that were either designed by Niklaus Wirth are 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 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 updated: 1992/03/02 language: Modula-2 package: mtc version: 9209 parts: translator(->C) author: Matthias Martin, Josef Grosch 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 updated: 1992/10/01 language: Modula-2 package: mocka version: 9404 parts: compiler, library, examples, docs author: ? Holger Hopp 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 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 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: announcements: comp.lang.modula2, comp.lang.modula3 contact: 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 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 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 updated: 1994/07/09 language: Oberon2 package: Oberon-2 LEX/YACC definition version: 1.4 parts: parser(yacc), scanner(lex) author: Stephen J Bevan location: ftp pub/oberon/tools/o2lexyac.tar.Z from ftp.psg.com or mail bevan@cs.man.ac.uk with Subject "b-server-request~ and body "send oberon/oberon_2_p_v1.4.shar" 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 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 Juergen Zimmermann 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/04 language: Parallaxis package: parallaxis version: 2.0 parts: ?, simulator, x-based profiler author: ? location: ftp pub/parallaxis from ftp.informatik.uni-stuttgart.de 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 ? updated: 1992/10/23 language: Pascal package: p2c version: 1.20 parts: translator(Pascal->C) author: Dave Gillespie 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: 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 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: Pascal version: 1.0 parts: compiler(->C), library, assembler, linker etc author: Henrik Quintel location: ftp minix/pascal/? from top.cs.vu.nl 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 help: support: announcements: comp.os.minix, comp.compilers contact: updated: 1994/01/04 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 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 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 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 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 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 (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: Motorola DSP56000 package: ? version: 1.1 parts: assembler author: Quinn Jensen 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 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 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 location: SIMTEL20, pd1: 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 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 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 macro preprocessors ------------------------------------------------------------------------------- category: macro preprocessors description: These are tools that expand macros for another language. iref: (C) GNU CC iref: (C) lcc -- [I assume lcc has a preprocessor? --ed] 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 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: m4 package: pd/bsd m4 version: ? parts: interpreter, man page author: Ozan Yigit , Richard A. O'Keefe 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 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 , 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: 3.13 parts: ? author: Lester Ingber location: ftp pub/ingber/ from ftp.alumni.caltech.edu [131.215.139.234] description: ? Language interface to neural net simulator? discussion: asa-request@alumni.caltech.edu updated: 1994/05/31 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 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: mailing list join/quit requests: Barry Brachman 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 - FAX - (713) 244-5698. updated: 5/5/94 language: Duel (a C debugging language) package: DUEL version: 1.10 parts: interpreter, stand-alone module, documentation, test suites author: Michael Golan 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 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 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 , Albert Zuendorf 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 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 , extended by William Pugh et al. 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 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 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 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 , Kevin Humphreys , Chris Brew , Mike Reape 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 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 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 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 updated: 1993/05/20 language: MIX package: mix version: 1.05 parts: interpreter, examples. author: Darius Bacon 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 " 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 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 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 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 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: 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: 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 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 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 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 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 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 location: posted occaisionally 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 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 location: send email to author; or an ascii version of the comparision can be found in the comp.compilers archives, posted 1993/11/16 description: A thesis, that among other things, compares and benchmarks C++, Modula-3, Standard ML, Haskell, Sather, and Common Lisp updated: 1993 name: The Lisp FAQs version: 1.30 author: Mark Kantrowitz 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 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 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 pub/8051/signetics-bbs from lyman.pppl.gov 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: lyman.pppl.gov : /pub/8051/siemens-bbs nic.funet.fi: /pub/microprocs/MCS-51/csd4-archive 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 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 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 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 foriegn functions description: These tools can dynamically load C code at run-time. lref: Common Lisp lref: Python iref: (Perl) Dylperl 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: Perl5 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 foriegn 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 iref: (Caml) Caml Light iref: (CooL) CooL-SPE iref: (Perl5) tkperl5 iref: (Perl5) Sx 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: Perl5 iref: (Fortran) F-curses iref: (Common Lisp) CLISP iref: (Perl) curseperl iref: Python 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.