CMU Artificial Intelligence Repository
Beta Prolog: Fast and portable Prolog emulator and
Beta-Prolog is a fast and portable Prolog implementation. It consists
of an emulator of the NTOAM (matching Tree Oriented Abstract Machine)
written in C, a compiler written in Prolog that translates Prolog
programs into NTOAM instructions, and a library of built-in
Beta-Prolog has the following features:
1. It is one of the fastest emulator-based Prolog implementations.
The NTOAM inherits many good features of the WAM, but differs from
WAM-based systems in that predicate arguments are passed directly
in stack frames and only one frame is used for each predicate. For
many programs written for WAM-based systems, Beta-Prolog is faster
than emulator-based SICStus Prolog 2.1. Further speed-ups can be
achieved if these programs are rewritten into a style suitable for
Beta-Prolog by taking the NTOAM's argument passing scheme into
2. Besides Edinburgh style clauses, Beta-Prolog also accepts
matching clauses in which input and output unifications are
separated, and determinism is denoted explicitly. The compiler is
able to translate predicates in this form into matching trees and
index them using all input arguments. The compiler can compile
quite large programs in a short time because it consists of only
3. It provides an interactive interface through which the
programmers can consult, compile, load, debug and run programs.
4. It provides an interface through which C functions can be
called from Prolog.
5. It provides a special data structure called state tables that
can be used to represent graphs, simple and complex domains in
constraint satisfaction problems, and situations in various
combinatorial search problems.
6. It includes a finite-domain constraint solver with which
constraint satisfaction problems can be specified declaratively.
Version: 1.2 (31-AUG-94); 1.1 (11-MAR-94)
Ports: The system can be installed without difficulty on any
machine that runs Unix and the cc (or gcc) C compiler.
Copying: Copyright (c) 1994 by Neng-Fa Zhou.
Use, copying, modification, and distribution permitted for
non-commercial purposes only.
Updated: Wed Aug 31 21:04:11 1994
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Author(s): Neng-Fa ZHOU
Faculty of Computer Science and Systems Engineering
Kyushu Institute of Technology
680-4 Kawazu, Iizuka, Fukuoka 820, Japan
Authors!Zhou, Beta Prolog, Compilers!Prolog,
Constraint Satisfaction, Interpreters!Prolog, NTOAM,
Programming Languages!Prolog, Prolog!Implementations
The basic ideas of the system are described in the following papers:
N.F. Zhou: Global Optimizations in a Prolog Compiler
for the TOAM, J. Logic Programming, Vol.15, pp.265-294, 1993.
N.F. Zhou: Beta-Prolog: An Extended Prolog with Boolean Tables
for Combinatorial Search, Proc. 5th IEEE International
Conference on Tools with Artificial Intelligence, IEEE Computer
Society, pp.312-319, November 1993.
N.F. Zhou: On the Scheme of Passing Arguments in Stack Frames
for Prolog, ICLP'94, pp.159-165, 1994.
Last Web update on Mon Feb 13 10:34:50 1995