CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

SB-Prolog: Stony Brook Prolog

SB-Prolog (Stony Brook Prolog) is a Prolog system for Unix and 386 MS-DOS systems. It is based on an extension of the Warren Abstract Machine, which is written in C for enhanced portability. The remainder of the system, including the translator from Prolog to the virtual machine instructions, is written in Prolog. Prolog source programs can be compiled into machine-independent byte code files, which contain encodings of WAM instructions and are interpreted by the simulator. Among SB-Prolog's features are dynamic loading of predicates, an extension table facility that permits memoization of relations, macro definition/expansion, and tail recursion optimizations. ******************************************************************** *** NOTE: SB-Prolog is superseded by XSB and hence is no longer *** *** supported by Stony Brook or the University of Arizona. The *** *** only reason to continue using SB-Prolog is for DOS, since *** *** XSB does not run under DOS and there are currently no plans *** *** to port it to DOS. XSB is more robust than SB-Prolog and *** *** XSB's compiler is quite a bit faster. XSB also supports *** *** tabling (OLDT evaluation) at the engine level, which lets *** *** you write programs that are much cleaner, shorter, & faster. *** ******************************************************************** There are three main versions: 2.5, 3.0, and 3.1. Version 2.5 runs on machines like Vax, Sun3, HP-9000, and Amiga, but not on alignment restricted processors like Sun4, Pyramid-98x, DEC3100 and SGI Iris. Versions 3.0 and 3.1 do run on alignment-restricted systems, but lack some builtin predicates. There were many different copies of the different versions floating about; we've tried to resolve the differences as best as possible. (Some of the differences had to do with garbage collection, which was apparently buggy.) All the versions contain a couple of benchmarks, such as naive reverse and Pereira's benchmark suite, and some documentation. Other documentation is also available in the doc.tar file. The msdos subdirectory contains the 386 MS-DOS port of SB-Prolog version 3.1.01 (31-OCT-91). It was compiled using version 1.05 of the 386 MS-DOS GNU C compiler port by D. J. Delorie. It supports up to 128M of extended memory and 128M of disk space for swapping. It is compatible with XMS and VCPI programs (such as QEMM and 386MAX), but not DPMI (such as Windows 3.0). The Amiga port is in the amiga directory and includes a hypertext version of the SB-Prolog manual for version 2.5 of the language. The hilog directory contains a prototype of SB-HiLog that runs under Quintus Prolog and SB-Prolog. SB-HiLog is an extension of Prolog that possesses a higher-order syntax, so that arbitrary terms may occupy the function position of terms. (XSB also includes a version of HiLog.)
See Also: 

Origin:       (SB-Prolog v2.5 and v3.1)  (SB-Prolog v2.5 and v3.1)    (Hilog)
      (SB-Hilog runs in SB-Prolog and Quintus Prolog.)
   Amiga executables:
   MS-DOS/386 (v3.1) executables: []
      in /computing/programming/languages/prolog/sbprolog/
   Modular SB-Prolog (= SB-Prolog version 3.1 plus modules): []
      (Includes interpreter for SPARC.)

Version: 2.5, 3.0, 3.1 Ports: Sun4, Pyramid-98x, DEC3100, SGI Iris, Amiga, MS-DOS. Copying: Copyright (c) 1986 SUNY/Stony Brook, 1987 University of Arizona Use, copying, modification, and distribution permitted. (See the copying.txt file for details.) CD-ROM: Prime Time Freeware for AI, Issue 1-1 Contact: David S. Warren (SB-Prolog) Brian Paxton (Modular SB-Prolog) Diomidis Spinellis (MS-DOS port) (SB-HiLog) Keywords: Authors!Paxton, Authors!Spinellis, Authors!Warren, Compilers!Prolog, HiLog, Interpreters!Prolog, Programming Languages!Prolog, Prolog!Amiga, Prolog!Implementations, Prolog!MS-DOS, Prolog!UNIX, SB-HiLog, SB-Prolog, SUNY/Stony Brook, WAM References: A copy of the user guide is included in the distribution: Saumya K. Debray, "The SB-Prolog System, Version 3.1, A User Manual", Department of Computer Science, University of Arizona, December 1989. Parts of the manual are based on Fernando Pereira's C-Prolog User Manual. For documentation of SB-HiLog, see W. Chen, M. Kifer and D.S. Warren, "HiLog as a Platform for Database Languages (or why predicate calculus is not enough)", The 2nd Intl. Workshop on Database Programming Languages, Morgan Kaufmann, 1989 W. Chen, M. Kifer and D.S. Warren, "HiLog: A First-Order Semantics of Higher-Order Logic Programming Constructs", in Proceedings of the North American Conf. on Logic Programming.
Last Web update on Mon Feb 13 10:35:11 1995