CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

BinProlog: Fast, small, and portable Prolog compiler.

lang/prolog/impl/prolog/bin_pl/bp/
BinProlog replaces the WAM by a more compact continuation passing logic engine based on a mapping of full Prolog to binary logic programs. It includes an interface Tcl/Tk. BinProlog is a fairly complete Prolog implementation featuring both C-emulated execution and generation of standalone applications by compilation to C. Some other features are: - a Tcl/Tk Motif-style visual programming interface, - dynamic code, intuitionistic and linear implication, - logical and permanent global variables, - backtrackable destructive assignment, - circular term unification, - extended DCGs (now built in the engine as `invisible grammars'), - continuation manipulation primitives, - a garbage-collected hashing based global dictionary for constant-time sparse arrays and graphs, - efficient high-order programming builtins, - C-compatible floating point operations, - fully C-ified one file executables. The compiler makes 528 KLIPS on a Sparc 10-40 (101 KLIPS on a NeXT) and still uses a very small (49K under Solaris 2.1) emulator, making it among the fastest freely available C-emulated Prologs (3-5 times faster than C-Prolog, 2-3 times faster than SWI-prolog, 1.5-2 times faster than (X)SB-prolog and close to C-emulated Sicstus 2.1.). BinProlog's very small code-size and high performances make it suitable to be integrated in industrial C-applications that need the services of an embedded logic programming engine. Multi-BinProlog 3.00 is a prototype Linda-style parallel extension to BinProlog for Solaris 2.3 developed by Koen De Bosschere and Paul Tarau. This version uses Koen's C-parser and C-writer which together speed-up IO and streams considerably. It works with shared-memory and remote procedure calls. BinProlog includes many examples, such as a VT100 implementation of Tetris, a breadth-first meta-interpreter, an implementation of backpropagation (neural nets), a CHAT parser, and implementations of knight's tour and N-queens.
Origin:   

   clement.info.umoncton.ca:/BinProlog3.0.tar.gz [139.103.16.2]
   ftp.elis.rug.ac.be:/pub/BinProlog/        [157.193.67.1]

Version: 3.00 (12-SEP-94) Requires: C, TCL 7.3, TK 3.6, addinput-3.6a Ports: Sparc, DEC Alpha, MIPS (SGI, DEC), 68k (NeXT, Sun3), R6000 (IBM), HP PA-RISC, Solaris, and 386/486 (Linux or MsDOS+Windows 3.1 - with DOS-extender go32 ver. 1.10). Copying: BinProlog 3.00 Copyright (c) 1992-94 Paul Tarau. Multi-BinProlog 3.00 Copyright (c) 1992-94 Paul Tarau, Copyright (c) 1993-94 Koen De Bosschere ISO Prolog parser Copyright (c) 1994 Koen De Bosschere Use and modification for research and other non-profit purposes is permitted, provided the copyright notice is retained intact. See copying.txt for details. Use in industrial applications, licensing of C-sources, porting to other platforms, BinProlog related support and consulting are available but need a separate agreement. See pricing.txt, license.src, and license.bin for details. Updated: Thu Oct 13 19:47:30 1994 CD-ROM: Prime Time Freeware for AI, Issue 1-1 Bug Reports: binprolog@info.umoncton.ca Author(s): Dr. Paul Tarau or Dept. of Computer Science Universite de Moncton Moncton N.B. Canada E1A-3E9 Contact: binprolog@info.umoncton.ca Keywords: 8-Queens, Authors!Tarau, Backpropagation, BinProlog, Compilers!Prolog, Interpreters!Prolog, Knight's Tour, Meta-Circular Interpreter!Prolog, MultiBinProlog, N-Queens, Neural Networks, Parsing, Programming Languages!Prolog, Prolog!IBM PC, Prolog!Implementations, Prolog!Parsing, Prolog!UNIX, Tcl/Tk X11 Interface, Tetris Contains: ? References: Papers related to the implementation are included in the distribution.
Last Web update on Mon Feb 13 10:34:53 1995
AI.Repository@cs.cmu.edu