Aquarius Prolog 1.0
Aquarius Prolog is a high-performance, portable Prolog implementation
developed since 1989
by the Aquarius Project at the University of
California, Berkeley, the
Advanced Computer Architecture Laboratory
at the University of Southern California, and at Digital Equipment
Corporation's Paris Research Laboratory.
Aquarius Prolog 1.0 was released in April 1993.
The release includes:
- A state-of-the-art Prolog compiler with global analysis. The compiler
is built around an execution model for Prolog, the Berkeley Abstract
Machine (BAM), that retains desirable features of the Warren Abstract
Machine (WAM), but is much finer-grained.
The BAM has a tagged load-store instruction set.
This allows for
significant further optimizations and is easier to map onto actual
- A back-end that maps the BAM onto various actual general-purpose
- A run-time system offering substantially the same built-in predicates
and memory management as Quintus Prolog, a leading commercial system,
with additions such as two kinds of destructive assignment. Most of
the built-in predicates are written in Prolog, with little or no
- An interpreter for program development. The interpreter is written
in Prolog, has
a worst-case performance half that of C-Prolog, an efficient Prolog
interpreter written in C, and often has better performance.
- Documentation, including a User Manual (790K).
- Source code and implementation notes (in the Full distribution).
It is hoped these will stimulate and support experiments and
Aquarius Prolog is available in two distributions, Enduser and Full, on
the following five platforms:
The Enduser distribution is intended for users who want to develop and
run Prolog programs. It contains only the object code of the system.
The Full distribution is intended for research and development in Prolog
implementation. It includes full source code and is able to recompile
itself. The Enduser distribution requires a maximum of 25 MB of free disk
space (some distributions require less), the Full distribution requires a
maximum of 85 MB of free disk space (some distributions require less).
- MIPS R3000, ULTRIX, that is, DECstations running ULTRIX.
- MIPS R3000, RISC/os, that is, MIPS machines running RISC/os.
- SPARC, SunOS, that is, Sun 4s running SunOS.
- MC68020 (or higher), HP-UX, that is, Hewlett-Packard HP 9000 Series
300 and 400 machines with MC68020, MC68030 or MC68040 processors and
- MC68020 (or higher), SunOS, that is, Sun 3s running SunOS.
How to Get Aquarius Prolog
Aquarius Prolog may be obtained free of charge from USC. To obtain a
copy, send a message to firstname.lastname@example.org (the ACAL
listserver) with empty subject and following body:
get aquarius-info license
You will receive the license agreement by email. After signing and
mailing a physical copy to ACAL (the Advanced Computer Architecture
Laboratory; see address below), you will be given access to the system.
To get more information about the Full and Enduser distributions, send
the listserver a message with empty subject whose body
contains one or both of the two lines:
get aquarius-info readme-full
get aquarius-info readme-enduser
Some of the Full end Enduser distributions may be obtained by
If you access these distributions, please send concurrently
a license agreement to USC.
We have set up the mailing list aquarius-prolog to provide a forum by
which the Aquarius user community can exchange information. To join the
mailing list, send the listserver a message with empty subject and
To get more information about the abilities of the listserver, send it a
message with help in the body.
The aquarius-prolog mailing list is not moderated in the strict sense,
but it is monitored by ACAL and by individuals associated with the system's
In its current state, the system has a full complement of built-ins
(Quintus-compatible), is available free with full source code,
but is no longer being maintained.
Ralph Clarke Haygood,
Peter Van Roy
University of Southern California
Advanced Computer Architecture Laboratory
Attn: Aquarius Prolog Licensing
3740 S. McClintock, Ste 131
Los Angeles, CA 90089-2561
e-mail (human): email@example.com
e-mail (listserver): firstname.lastname@example.org
Please send comments and questions to email@example.com.