CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

Beta Prolog: Fast and portable Prolog emulator and compiler.

lang/prolog/impl/prolog/beta_pl/
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 predicates. 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 account. 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 matching clauses. 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.
Origin:   

   ftp.kyutech.ac.jp:/pub/Language/prolog/ [131.206.1.101]

Version: 1.2 (31-AUG-94); 1.1 (11-MAR-94) Requires: C 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 Tel: 81-948-29-7774 Fax: 81-948-29-7760 Contact: betaprolog@cad.mse.kyutech.ac.jp Keywords: Authors!Zhou, Beta Prolog, Compilers!Prolog, Constraint Satisfaction, Interpreters!Prolog, NTOAM, Programming Languages!Prolog, Prolog!Implementations References: 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
AI.Repository@cs.cmu.edu