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:
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:
September 3rd, 1995

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:
SQL
Package:
Beagle SQL
Author:
Rob Klein
Location:
http://tiny.iapnet.com/rob/beagle.html
Description:
Beagle SQL is a free client server database management system for Unix operating systems. It is very new and development is still in progress. The following subset of SQL is currently supported (full ANSI compliance being the ultimite goal): CREATE TABLE, CREATE INDEX, SELECT, INSERT, DROP TABLE, DROP INDEX. The SELECT statement supports complex expressions complete with implicit join operations as well as explicit btree index support.

Supported operators include <>, <, >, contains, begins, and =.

-
Full source code available
-
Complex expression parser
-
Implicit joins
-
Variable length fields and records
-
Multi-Attribute B-Tree indexes
-
Subset of SQL
Updated:
October 1st, 1997

Language:
CLIPS
Package:
CLIPS
Version:
6.02
Parts:
interpreter
Author:
Gary Riley and Brian Donnell
Location:
ftp://ftp.cs.cmu.edu/user/ai/areas/expert/systems/clips
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://ftp.cs.princeton.edu/duel/*
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:
March 20th, 1993

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://cs.umd.edu/pub/omega
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:
January 23rd, 1993

Language:
GSM suite
Package:
GSM
Version:
1.0
Parts:
editor program, gsmedit, a compiler, gsm2cc, that produces a C++ implementation of a state machine, a PostScript generator, gsm2ps, and two other minor programs.
Author:
andrewm@slip.net (Andrew Mangogna)
Location:
http://www.slip.net/~andrewm/gsm
Description:
GSM Suite is a set of programs to facilitate use of finite state machines in programming. Included is a Motif based graphical editor, a program to convert the state machine to C++ code, and a PostScript generator for printing and viewing.
Updated:
July 20th, 1997

Language:
SQL
Package:
mSQL2 (Mini SQL)
Version:
2.0.10.1
Parts:
interpreter, documentation, import and dumping tools, admin tool
Author:
David J. Hughes <bambi@hughes.com.au>
Location:
www.hughes.com.au
Description:
Subset of ANSI SQL implemented with client-server support over TCP/IP. Mini SQL is a light weight relational database management system capable of providing rapid access to your data with very little overhead.
Updated:
May 26th, 1999

Language:
SQL
Package:
MultiCal System
Version:
?
Parts:
?
Author:
Richard Snodgrass?
Location:
ftp://FTP.cs.arizona.edu/tsql/multical
Description:
[Anyone care to write a description? - ed]
Restriction:
public domain, freely available
Contact:
rts@cs.arizona.edu
Updated:
?

Language:
SQL
Package:
MySQL
Version:
3.23
Parts:
Interpreter (with command line editing), import and dump tools, mysqld (server daemon). APIs for C, C++, Eiffel, Java, Perl, PHP Python and TCL. ODBC (Open-DataBase-Connectivity) for Windows95 (with source).
Author:
Michael (Monty) Widenius <monty@tcx.se>
Contact:
info@mysql.com
Location:
www.tcx.se
Description:
MySQL is a client/server implementation that consists of a server daemon (mysqld) and many different client programs and libraries. MySQL is a true multi-user, multi-threaded SQL database server. A very fast thread-based memory allocation system. No memory leaks. Tested with a commercial memory leakage detector (purify). Includes isamchk, a very fast utility for table checking, optimization and repair.

Full support for the ISO-8859-1 Latin1 character set. For example, the Scandinavian characters @ringaccent{a}, @"a and @"o are allowed in table and column names.

All data are saved in ISO-8859-1 Latin1 format. All comparisons for normal string columns are case insensitive.

Sorting is done according to the ISO-8859-1 Latin1 character set (the Swedish way at the moment). It is possible to change this in the source by adding new sort order arrays. To see an example of very advanced sorting, look at the Czech sorting code. MySQL supports many different character sets that can be specified at compile time. Aliases on tables and columns as in the SQL92 standard. DELETE, INSERT, REPLACE, and UPDATE return how many rows were changed (affected).

Function names do not clash with table or column names. For example, ABS is a valid column name. The only restriction is that for a function call, no spaces are allowed between the function name and the `(' that follows it.

Clients connect to the MySQL server using TCP/IP connections or Unix sockets, or named pipes under NT.

The EXPLAIN command can be used to determine how the optimizer resolves a query.

The January 1999 issue of Linux Journal reported that the 1998 Readers Choice Award chose MySQL as the 'Most Used Database over the Internet'.

Updated:
July 5th, 1999

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:
May 24th, 1994

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:
ftp://cs.ua.edu/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:
May 23rd, 1994

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:
October 25th, 1992

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://ftp.cs.umd.edu/pub/omega
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:
November 13th, 1992

Language:
PLAN
Package:
PLAN
Version:
1.0
Parts:
?
Author:
Carl A. Gunter Mike Hicks Pankaj Kakkar Jonathan Moore Scott Nettles Sam Weber
Location:
http://www.cis.upenn.edu/~switchware/PLAN/
Description:
(Programming Language for Active Networks). PLAN is a small functional scripting language that is intended to be carried in communication packets and evaluated on routers in an active network. Its primary goal is to support 1. finding, installing, and invoking services, and 2. diagnostics for routers and the network with authentication only on services that require it. PLAN programs are guaranteed to terminate and have predictable behavior over a limited safe interface. PLAN programs with this limited interface can therefore be interpreted by all active routers to all active packets. PLAN programs may also access libraries of other services that may not be provided to all packets, based on authorization. PLAN 1.0 is our first experimental prototype release, implementing some of the basic functionality expected of PLAN.
Updated:
July 27th, 1997

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://ftp.informatik.rwth-aachen.de/pub/unix/PROGRES/?
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:
November 2nd, 1993

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://cs.arizona.edu/scorpion/*
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:
November 4 1993

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://ftp.cs.ubc.ca/pub/local/src/snacc/snacc1.1.tar.Z
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:
July 12th, 1993

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://omg.org/pub/OMG_IDL_CFE_1.2/*
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:
May 4 1993

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://tp.uu.net/published/oreilly/nutshell/lexyacc/?
Description:
In _lex & yacc_, by Levine, Mason & Brown an SQL parser is included as an example grammar
Updated:
?

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

Please send updates to free-compilers@sharnoff.org

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

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