next up previous
Next: Introduction

A High-Performance Abstract Machine for Prolog and its Extensions

Neng-Fa Zhou

Department of Computer and Information Science

Brooklyn College & Graduate Center

Abstract:

This paper describes the design and the implementation of the TOAM (Tree-Oriented Abstract Machine) for Prolog and its extensions. The TOAM, as a Prolog machine, is based on the famous WAM model but differs from it in argument passing, stack management, and clause indexing. The original TOAM for Prolog was designed over ten years ago and the architecture was published in ACM TOPLAS in 1996 [25]. Since then, the machine has been extended to support several extensions of Prolog, including even-driven action rules, constraint solving, and tabling. The stack management scheme of the TOAM proved to be amenable to these extensions. The TOAM is employed in B-Prolog, a complete and efficient CLP system. The finite-domain constraint solver and the tabling system in B-Prolog represent the state-of-the-art implementations. This paper reviews the evolution of the TOAM as a Prolog machine, describes the changes needed to support the extensions, and reports the result of a comparison of B-Prolog and many other systems.




next up previous
Next: Introduction
admin 2003-03-14