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