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.


Language:
Prolog (variant)
Package:
Aditi
Version:
Beta Release
Parts:
interpreter, database
Author:
Machine Intelligence Project, Univ. of Melbourne, Australia
Location:
send email to aditi@cs.mu.oz.au
Description:
The Aditi Deductive Database System is a multi-user deductive database system. It supports base relations defined by facts (relations in the sense of relational databases) and derived relations defined by rules that specify how to compute new information from old information. Both base relations and the rules defining derived relations are stored on disk and are accessed as required during query evaluation. The rules defining derived relations are expressed in a Prolog-like language, which is also used for expressing queries. Aditi supports the full structured data capability of Prolog. Base relations can store arbitrarily nested terms, for example arbitrary length lists, and rules can directly manipulate such terms. Base relations can be indexed with B-trees or multi-level signature files. Users can access the system through a Motif-based query and database administration tool, or through a command line interface. There is also in interface that allows NU-Prolog programs to access Aditi in a transparent manner. Proper transaction processing is not supported in this release.
Ports:
Sparc/SunOS4.1.2 Mips/Irix4.0
Contact:
<aditi@cs.mu.oz.au>
Updated:
December 17th, 1992

Language:
CooL (Combined object-oriented Language)
Package:
CooL-SPE
Version:
2.1pre45
Parts:
compiler(->C), emacs mode, X libraries, container libraries, database access libraries, dialog editor, source debugger, object test harness
Author:
ITHACA project
Location:
ftp://ftp.fu-berlin.de/pub/unix/languages/cool/cool-*.tar.Z
Description:
The CooL-SPE is a programming environment specially designed to support the professional development of large-scale object-oriented application systems.

CooL offers all the basic features of the object-oriented paradigm, such as (single) inheritance, dynamic binding and polymorphism. Above that, CooL offers generic object types and abstract object types and last but not least supports modules in the tradition of Modula, thus allowing to really build large systems. CooL is fully type-compliant with the C language type system and allows software written in C or in languages with a C interface to be integrated into CooL applications without any effort.

CooL-SPE supports the development of application systems with graphical user interfaces based on X/Motif. These interfaces may be constructed using UIL or interactivly using a dialog editor. A dialog object class library, DIO, is available to facilitate integration of the application with the runtime system of X/Motif. This interface abstracts from the toolkit's primitives.

The CooL language is extended by the CooL library system CoLibri. CoLibri offers a BCD type and a number of functions for the CooL simple types (e.g. STRING). As foundation object types, provides basic file I/O, time representation (including date, time, duration, interval etc.), and the basic container object types (e.g. set, list, sortedList, map and dictionary) as generic types.

The SQL Object Interface (SOI) is provided to allow object-oriented applications to be integrated with a relational database system. This interface offers access to SQL tables via a generated object type interface.

Requires:
INFORMIX
Ports:
Linux, Solaris, Sinux 5.41
Portability:
nothing prevents using a different database backend
Status:
new
Contact:
CooL@sietec.de
Updated:
October 25th, 1994

Language:
Prolog (variant)
Package:
Coral
Version:
1.5.2
Parts:
interpreter, interface(C++), documentation
Author:
Raghu Ramakrishnan, et.al.
Location:
http://www.cs.wisc.edu/coral/
Description:
The CORAL deductive database/logic programming system was developed at the University of Wisconsin-Madison. The CORAL declarative language is based on Horn-clause rules with extensions like SQL's group-by and aggregation operators, and uses a Prolog-like syntax. * Many evaluation techniques are supported, including bottom-up fixpoint evaluation and top-down backtracking. * A module mechanism is available. Modules are separately compiled; different evaluation methods can be used in different modules within a single program. * Disk-resident data is supported via an interface to the Exodus storage manager. * There is an on-line help facility
Requires:
g++
Contact:
Shaun Flisakowski <flisakow@cs.wisc.edu>
Ports:
Sun4, Sun Solaris, Hpux, Linux
Status:
Frozen - bug fixes only.
Updated:
January 29th, 1993

Language:
E (a persistent C++ variant)
Package:
GNU E
Version:
2.3.3
Parts:
compiler
Author:
?
Location:
ftp://ftp.cs.wisc.edu/exodus/E/gnu_E*
Description:
GNU E is a persistent, object oriented programming language developed as part of the Exodus project. GNU E extends C++ with the notion of persistent data, program level data objects that can be transparently used across multiple executions of a program, or multiple programs, without explicit input and output operations.

GNU E's form of persistence is based on extensions to the C++ type system to distinguish potentially persistent data objects from objects that are always memory resident. An object is made persistent either by its declaration (via a new "persistent" storage class qualifier) or by its method of allocation (via persistent dynamic allocation using a special overloading of the new operator). The underlying object storage system is the Exodus storage manager, which provides concurrency control and recovery in addition to storage for persistent data.

Restriction:
GNU General Public License; not all runtime sources are available (yet)
Requires:
release 2.1.1 of the Exodus storage manager
Contact:
exodus@cs.wisc.edu
Updated:
January 20th, 1993

Language:
PFL (Persistant Functional Language)
Package:
pfl
Version:
0.1
Parts:
?, documentation, libraries
Author:
Carol Small <carol@dcs.bbk.ac.uk>
Location:
ftp://ftp.demon.co.uk/pub/linux/?
Description:
PFL is a computationally complete database environment
Restriction:
GNU General Public License
Requires:
GNU C++
Contact:
Tim Holmes <timh@psammead.demon.co.uk>
Updated:
June 1st, 1994

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

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