Introduction to BinProlog

BinProlog has been developped by Paul Tarau mostly at the University of Moncton, Canada, and is based on his BinWAM abstract machine, a specialization of the WAM for the efficient execution of binary logic programs.

BinProlog is a fast and small Prolog compiler, based on the transformation of Prolog to binary clauses. The compilation technique is similar to the Continuation Passing Style transformation used in some ML implementations.

Although it (used to) incorporate some last minute research experiments, which might look adventurous at the first sight, BinProlog is a fairly robust and complete Prolog implementation featuring both C-emulated execution and generation of standalone applications by compilation to C. Some of its features are:

New features in added in version 3.30:

The bp command starts the BinProlog toplevel.

Prolog sources for the compiler and builtins are in directory src.

The directories pl2c and dynpl2c contain various project (*.pro) files and a makefile for generating a standalone applications through compilation to C.

The directory TCL contains a bidirectional pipe based BinProlog to Tcl/Tk interface.

The directory cparser contains Koen De Bosschere's ISO Prolog parser (written in C) and BinProlog standalones based on the parser (cbp.*).

The directory multi contains Koen De Bosschere's a blackboard based distributed programming extension to BinProlog and BinProlog executables which integrate them (mbp.*).



Subsections