Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives

FAQ: Prolog Implementations 2/2 [Monthly posting]

( Part1 - Part2 - MultiPage )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Counties ]
Archive-name: prolog/resource-guide/part2
Last-Modified: Thu Mar 13 12:13:00 1997 by Mark Kantrowitz
Version: 1.35
Maintainer: Mark Kantrowitz <>
Size: 91137 bytes, 1682 lines

See reader questions & answers on this topic! - Help others by sharing your knowledge
;;; ****************************************************************
;;; Prolog Resource Guide ******************************************
;;; ****************************************************************
;;; prg_2.faq

This is part two of the Prolog Resource Guide. This part lists
available Prolog, logic programming, and constraint system
implementations, both free and commercial.

Send suggestions and comments to:

Prolog Implementations (Part 2):
  [2-0]  General information about Prolog Implementations

  [2-1]  Free Prolog Implementations
  [2-2]  Commercial Prolog Implementations

  [2-3]  Free Parallel Prolog Implementations
  [2-4]  Commercial Parallel Prolog Implementations

  [2-5]  Free Constraint Systems
  [2-6]  Commercial Constraint Systems

  [2-7]  Free Logic Programming Systems
  [2-8]  Commercial Logic Programming Systems

  [2-9]  Other Commercial Prolog Products

  [2-10] Prolog extensions, meta-interpreters, and pre-processors

Search for [#] to get to topic number # quickly. In newsreaders which
support digests (such as rn), [CTRL]-G will page through the answers.

Subject: [2-0] General information about Prolog Implementations When comparing free and commercial Prolog implementations, a rule of thumb is that commercial prolog implementations are often more robust and better supported than the public domain and free prolog implementations. Commercial Prolog implementations tend to have better debugging facilities. Many of the commercial Prolog vendors offer educational discounts to universities, and some of the commercial Prolog implementations are rather inexpensive. When considering a commercial Prolog implementation, be sure to ask for current pricing information. Although we try to keep this information up to date, there is no guarantee that it hasn't changed in the interim. If you find that the information has changed, please ask the vendor to send us current information. Some research institutions make their Prolog implementations available for a fee. We have included those implementations in the lists of commercial Prolog implementations. The Prolog Management Group may be contacted by email via the Secretary, at <>. Remember when ftping compressed or compacted files (.Z, .arc, .fit, .zip, .z, etc.) to use binary mode for retrieving the files. Files that end with a .z suffix were compressed with the patent-free gzip (no relation to zip). Source for gzip is available from: as the files gzip-1.2.3.shar, gzip-1.2.3.tar,or gzip-1.2.3.msdos.exe.
Subject: [2-1] Free Prolog Implementations The following list of free Prolog and logic programming implementations excludes those listed in the comp.lang.lisp and comp.lang.scheme FAQs (i.e., Prolog interpreters written in Lisp and Scheme). Most of these Prolog implementations are available from the CMU AI Repository, in the directory A.D.A. Public Domain Prolog: A rather slow implementation of Prolog for MS-DOS systems, originally a product of Automata Design Associates (now defunct), 1570 Arran Way, Dresker, PA 19025, 215-335-5400. Aquarius Prolog: Aquarius Prolog is a high-performance, portable Prolog implementation developed since 1989 by the Aquarius Project at UC/Berkeley, the Advanced Computer Architecture Laboratory (ACAL) at the University of Southern California (USC), and at Digital Equipment Corporation's Paris Research Laboratory. The developers are Tom Getzinger, Ralph Clarke Haygood, and Peter Van Roy. Aquarius Prolog includes: - A compiler with global analysis. The compiler is built around the Berkeley Abstract Machine (BAM) execution model for Prolog. BAM retains desirable features of the Warren Abstract Machine (WAM), but allows for significant further optimizations and is easier to map onto actual general-purpose machines. - A back-end that maps the BAM onto various actual general-purpose machines, including MIPS R3000 (DEC Ultrix and MIPS RISC/os), SPARC (SunOS), HP 9000 300/400 with MC68020, MC68030 or MC68040 processors (HP-UX), and Sun3 (SunOS). - A run-time system offering substantially the same built-in predicates and memory management as Quintus Prolog, with additions such as two kinds of destructive assignment. Most of the built-in predicates are written in Prolog, with little or no performance penalty. Aquarius Prolog also includes an interpreter and documentation. Aquarius Prolog comes in two distributions, Enduser and Full. The latter includes full source code and implementation notes. Aquarius Prolog may be obtained free of charge from USC, after signing and returning a license agreement. To get the license agreement, send a message to with get aquarius-info license in the message body. To get more information about the Full and Enduser distributions, send the listserver a message containing one or both of the two lines: get aquarius-info readme-full get aquarius-info readme-enduser To subscribe to the aquarius-prolog mailing list, send the listserver a message with body: subscribe aquarius-prolog <Your real name here> To get more information about the abilities of the listserver, send it a message with 'help' in the body. For further information, write to University of Southern California, Advanced Computer Architecture Laboratory (ACAL), Attn: Aquarius Prolog Licensing, 3740 S. McClintock, Suite 131, Los Angeles, CA 90089-2561, or send email to Beta-Prolog (version 1.2): 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. Beta-Prolog is available by anonymous ftp from [] or from the CMU AI Repository in The system can be installed without difficulty on any machine that runs Unix and the cc (or gcc) C compiler. Beta-Prolog was developed by Neng-Fa Zhou, <>, Faculty of Computer Science and Systems Engineering, Kyushu Institute of Technology, 680-4 Kawazu, Iizuka, Fukuoka 820, Japan, phone 81-948-29-7774, fax 81-948-29-7760. For more information, send mail to BinProlog: [] [] 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. Version 2.20 runs on Sparc, DEC Alpha, MIPS (SGI, DEC) 68k (NeXT, Sun3), R6000 (IBM), PA-RISC (HP) and IBM PC (386/486). 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.). Comments and bug reports should be sent to Paul Tarau <>. BinProlog is free for reasearch and other non-profit purposes. Use in industrial applications, licensing of C-sources, porting to other platforms, BinProlog related support and consulting are available but need a separate agreement. 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. Boizumault Prolog: The various Prolog interpreters described in Patrice Boizumault's book, "The Implementation of Prolog", are available by anonymous ftp from or from the CMU AI Repository in The three interpreters, corresponding to appendices A through D of the book, are written in Common Lisp. Examples which run in all the interpreters include cryptarithms, Eliza, Sieve of Eratosthenes, Factorial, N-Queens, and Quicksort. For more information, write to Patrice Boizumault <>. Common ESP: CESP (Common Extended Self-contained Prolog) is an object-oriented system by the AI Language Research Institute, Kamakura, Japan. The binary is free for R & D use only -- send 1/4in CMT Sun3 and Sun4 (Sparc) with Sun OS R4.0.3, R4.1 or R4.1.1. For more information, write to AI Language Research Institute Ltd, Yoshitoku Bldg, Shiba 3-15-14, Minato-Ku, Tokyo 105, Japan, fax +81 3 3456 4418, or send email to or cu-Prolog: See [2-5]. ECLiPSe (ECRC Logic Programming System) combines the functionalities of several ECRC systems, including SEPIA (an Edinburgh-style extensible Prolog system based on a WAM compiler), MegaLog (a database system) and CHIP (a constraint logic programming system). ECLiPSe includes a Prolog compiler with extended functionality that is Quintus and SICStus compatible, a tightly connected database system based on the BANG file system, a CLP system, and an interface to the Tcl/Tk X11 toolkit. The BANG database can store not only relations, but also any Prolog structures and programs. The CLP system contains several libraries with various types of constraint handling schemes, including atomic finite domains, linear rational constraints, CHR (constraint handling rules) and Propia (generalised propagation). It also supports writing further extensions like new user-defined constraints or complete new constraint solvers. ECLiPSe also includes a profiler, user-definable syntax, metaterms as first-class citizens, coroutining, a high-level debugger (OPIUM), a partial evaluation system (PADDY), and unlimited precision integer and rational numbers. ECLiPSe is available for a nominal fee of DM 300 (~$200) to all academic and government-sponsored organizations. It is distributed in binary form for Sun-3 and Sparc machines. Send orders or requests for further information to or write to ECRC, Arabellastrasse 17, 81925 Munich, Germany. The ECLiPSe documentation (ASCII and dvi) and some shareware packages ported to ECliPSe are now available by anonymous ftp from To subscribe to the mailing list, send mail to The tech support email address is eLP (Ergo Lambda Prolog) is an interpreter written by Conal Elliott, Frank Pfenning and Dale Miller in Common Lisp and implements the core of lambda Prolog (higher-order hereditary Harrop formulas). It is embedded in a larger development environment called ESS (the Ergo Support System). eLP implements all core language feature and offers a module system, I/O, some facilities for tracing, error handling, arithmetic, recursive top-levels, on-line documentation and a number of extended examples, including many programs from Amy Felty's and John Hannan's thesis. It should run in Allegro Common Lisp, Lucid Common Lisp, Kyoto Common Lisp, CMU Common Lisp and Ibuki Common Lisp. The eLP implementation of lambda Prolog is no longer developed or maintained, but it is still available via anonymous ftp from The file ergolisp.tar.Z contains the Ergo project's extensions to Common Lisp, including some facilities for attributes and dealing with abstract syntax trees. The file sb.tar.Z contains the Ergo Parser/Unparser/Formatter generator and ab.tar.Z contains the Ergo Attribute Grammar facility. The file elp.tar.Z contains the Ergo implementation of lambda Prolog. To customize grammars you need the sb.tar.Z file. When you retrieve the system, please print, fill out, and send in a copy of the non-restrictive license you will find in the file LICENSE. To subscribe to the mailing list, send mail to Bugs should be sent to ESL Prolog-2 (PD Version): [] A prolog for MS-DOS systems with good performance. It deviates slightly from Edinburgh standard (strings "like this" are not lists of ASCII codes), but you can add a declaration that makes it fully Edinburgh-compatible. (Add the line :- state(token_class,_,dec10). at the beginning of the program.) It is a more limited version of the interpreter from the Commercial Version (see [2-2] below). [Please note that ESL Prolog is NOT a UGA product, they just run the machine on which a copy is made available. Anyone with questions should contact ESL in Oxford, England (see [2-2] below). The commercial version of ESL Prolog-2 has been sold to ESI.] Documentation is available as a 2-volume set published by Ablex (type "prolog2" for info). ESL Prolog is also discussed extensively in Tony Dodd's book "Prolog: A Logical Approach," Oxford University Press. GOEDEL is intended to be a declarative successor to Prolog. The main design aim of Goedel is to have functionality and expressiveness similar to Prolog, but to have greatly improved declarative semantics compared with Prolog. This improved declarative semantics has substantial benefits for program construction, verification, debugging, transformation, and so on. Considerable emphasis is placed on Goedel's meta-logical facilities, since this is where Prolog is most deficient. In particular, Goedel has declarative replacements for Prolog's var, nonvar, assert, and retract. Goedel is a strongly typed language, its type system being based on many-sorted logic with parametric polymorphism. It has a module system, and supports floating point numbers and infinite precision integers and rationals. It can solve constraints over finite domains of integers and also linear rational constraints. It supports processing of finite sets. It also has a flexible computation rule and a pruning operator which generalises the commit of the concurrent logic programming languages. The release includes the Goedel system, the SAGE partial evaluator for Goedel, a user manual, and 50 example programs. Goedel must be compiled in SICStus Prolog 2.1 #6 or later; Sparc and Linux executables are included in the distribution. Goedel is available by anonymous ftp from [] [] For more information, write to Please send an email message to this address (with your name, institution and address) to this address when you obtain the system. To subscribe to the mailing list, send mail to indicating that you wish to join the Goedel discussion group. A book describing the language is now available from MIT Press: Patricia Hill and John Lloyd, "The Godel Programming Language", MIT Press, Cambridge, MA, 1994. ISBN 0-262-08229-2 ($45.00). IC-Prolog II: The emulator is available at present only in Sun-4 binary form. Source code may be released later in the year when project finishes. Produced by Imperial College, IC-Prolog II is a multi-threaded Prolog system. It includes a Parlog sub-system, an interface to TCP primitives and "mailboxes", a high level communication system. These enable distributed applications (such as client/server systems) to be written using logic programming. The distribution also includes a simple expert system shell and the preprocessor for the Prolog language extension L&O from the book "Logic & Objects" by Frank McCabe. (The sources for the L&O extension is also available to LPA MacProlog users in the subdirectory 'lo'.) See "I.C. Prolog II : a Multi-threaded Prolog System" by Damian Chu and Keith Clark and also "IC Prolog II: a Language for Implementing Multi-Agent Systems" by Damian Chu. Postscript copies of these two papers may be found in the subdirectory 'papers'. Standalone versions of the Parlog system for Sun-3 and Sun-4 can also be found in this directory. Contact Damian Chu <> for questions about IC Prolog II, and contact Zacharias Bobolakis <> for information about L&O. JB-Prolog 2.1.2 is a slim and powerfull prolog for the MacIntosh. Its key features are: Arbitrary long integers, fast interpreter only, source line debugger, user interface toolkit, persistent objects. It is available from the CMU AI repository as For more information contact Jan Burse,, XLOG, Scheuchzerstr. 67, 8006 Zrich, Switzerland. PIE2 is a Prolog interpreter for DOS. It is available on CompuServe in the AIEXPERT forum. contains the interpreter and examples, and PIEDOC.ZIP contains the documentation. Written by Brent Ruggles <>. Prolog-68 is a free WAM-based Prolog system running on Atari ST and TT computers. Not yet finished (no floating point, some missing built-ins). Contact Jens Kilian <> for information. Available by anonymous ftp from as a ZOO archive. Prolog/Mali is a compiler for the higher-order language Lambda-Prolog. Lambda-Prolog is an extension of Prolog defined by Miller (Miller, D.A., and Nadathur, G., "Higher-order logic programming", 3rd International Conference on Logic Programming, pages 448-462, London 1986). It is an extension of Prolog where terms are simply typed lambda terms and clauses are higher order hereditary Harrop formulas. The main novelties are universal quantification on goals and implication. Prolog/Mali is a complete system which includes a C translator, a linker, libraries, runtime, and documentation, and runs on UNIX. It requires the MALI-V06 abstract memory package. Prolog/Mali is available by anonymous ftp from Written by Pascal Brisset <> (or <>) and Olivier Ridoux ( To be added to the mailing list, send mail to For more information, send mail to LIFE (Logic, Inheritance, Functions, and Equations) is an experimental programming language with a powerful facility for structured type inheritance. It reconciles styles from functional programming, logic programming, and object-oriented programming. It subsumes the functionality of its precursor languages LOGIN and Le_Fun, and may be seen as an extension of Prolog. The syntax of Wild_LIFE has been kept as close as possible to that of the Edinburgh standard for Prolog. LIFE offers natively high-level abstraction facilities and convenient data and control structures particularly well-suited for AI programming. LIFE implements a constraint logic programming language with equality (unification) and entailment (matching) constraints over order-sorted feature terms. The interplay of unification and matching provides an implicit coroutining facility thanks to an automatic suspension mechanism. This allows interleaving interpretation of relational and functional expressions which specify structural dependencies on objects. The Wild_LIFE interpreter is the first implementation of the LIFE language available to the general public. It is a product of Digital Equipment Corporation's Paris Research Laboratory (DEC PRL). Wild_LIFE runs on MIPS/Ultrix (DECstations), Alpha/OSF-1, SPARC/SunOS, RS/6000, and SGI machines, and should be portable to other Unix workstations. It is implemented in C, and includes an interface to X Windows. Wild_LIFE is available by anonymous ftp from as the file Life1.0.tar.Z. To be added to the mailing list (, send mail to Send bug reports to Open Prolog: Open Prolog (OP) is a Prolog interpreter for the Apple Macintosh. It follows the so-called 'Edinburgh' syntax and supports most standard Prolog features, including Definite Clause Grammars. Extra predicates can be added via drop-in external predicates, similar to Hypercard's XCMDs. OP will work in any Macintosh from a Macintosh Plus, and runs in emulated mode on Power Macs. The most recent version of Open Prolog is available by anonymous ftp from its home site: [] It is also available from other sites, such as: []. For more information, write to Michael Brady, Computer Science Department, Trinity College, Dublin 2, IRELAND, send email to, call +353 1 6081786, or fax +353 1 6772204. PD Prolog 19: (IBM PC) ( Portable Prolog System is an interpreter from the University of York. Runs on any system having a Pascal compiler. For more information, write to University of York, Software Distribution Officer, Department of Computer Science, University of York, York, YO1 5DD, UK, call +44 (904) 59861, or fax +44 (904) 433744. Qu-Prolog 3.2 and Ergo 4.0: Qu-Prolog is a high-level language designed primarily for rapid prototyping of interactive theorem provers and, more generally, for symbolic computation on formal languages. Its object level includes quantified terms and object variables. As an example, the interactive theorem prover Ergo 4.0 is implemented in Qu-Prolog. The compactness and high level of Ergo 4.0 source code demonstrate the advantages of Qu-Prolog for such applications. Ergo includes a 'window inference' method that is specifically designed to support hierarchical goal-directed proofs and allow easy access to the context of a subterm. Ergo also provides support for defining a variety of logics and support for proving schematic theorems and answer extraction. Ergo is being used to support the development of verified software. The system has been tested only on a Sun4. Qu-Prolog and Ergo are available by anonymous ftp from as software/qp.tar.Z and software/Ergo.tar. The tech report techreports/ describes Qu-Prolog in detail. Send comments to Peter Robinson <>. SB-Prolog: Stony Brook Prolog runs on Sun4, Pyramid-98x, DEC3100, SGI Iris, Amiga, and MS-DOS machines. Contact for more information. Two versions are available: version 2.5 is an interpreter for Amigas and version 3.1 is an interpreter and compiler for Unix and MSDOS/386. SB-Hilog runs in SB-Prolog and Quintus Prolog and is available on [] contains SBProlog 3.1 executables for MS-DOS/386 in /computing/programming/languages/prolog/sbprolog, filename contains SBProlog executables for Amiga in /pub/amiga/fish/disks100-199/ff140. Modular SB-Prolog (= SB-Prolog version 3.1 plus modules) is available by anonymous FTP from [] Includes interpreter for SPARC. For more information, write to Brian Paxton <>. [NOTE: SB-Prolog is superseded by XSB (see below) 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.] SLG: The SLG system is a meta interpreter implementation of goal-oriented deductive query processing and non-monotonic reasoning with the following features: * goal-oriented query evaluation of normal logic programs under the well-founded semantics by Van Gelder, Ross and Schliph; * goal-oriented query evaluation of general logic programs under the alternating fixpoint logic by Van Gelder, with the restriction that the body of a clause has to be either an existential conjunction of literals or a universal disjunction of literals. * goal-oriented query evaluation under the stable model semantics by Gelfond and Lifchitz. * integration with Prolog execution, and the use of Prolog syntax for all programs. The SLG system is freely available by anonymous ftp from Southern Methodist University or SUNY at Stony Brook [] [] as the file slg.tar.gz. Comments, requests, and bug reports should be sent to Weidong Chen, <>, Computer Science and Engineering, Southern Methodist University, Dallas, Texas 75275-0122, phone 214-768-3097, or David Scott Warren, <>, Department of Computer Science, SUNY at Stony Brook, Stony Brook, NY 11794-4400, phone 516-632-8454. SWI Prolog: [] (Main source) Files: pl-x.y.z.tar.gz (source, currently 2.8.0) w32plxyz.exe (self-installing Windows 95/NT version) refman/ (preformatted reference manual) HTMLman/ (HTML version of the manual) WWW: (home) (man) List:, subscribe to Author: Jan Wielemaker, Features: Complete, including module system, 2-way C-interface, garbage collector (transparent to C-code), runtime generation, auto-loading, do-what-i-mean and a very fast compiler. Edinburgh compatible with lots of ISO and Quintus compatible extensions. GUI (Portable X11 and Windows) using XPCE (in part 1 of the Prolog Resource Guide). GUI Prolog development environment is under development. Contact Platforms: Unix (SunOs, Solaris, Linux, IRIX, HPUX, AIX, OSF/1 on the DEC/Alpha and many more) Win32 (Windows 95 and NT, may be recompiled using MSVC 4.1 for Windows 3.1 under Win32s). Free for non-commercial use. Licenses available for commercial use (contact Toy Prolog is an interpreter written in Pascal. About 3500 lines of source. Free with "Prolog for Programmers" by Kluzniak and Szpakowicz (Academic Press 1985). The Atari ST version is no longer supported. TPM (Transparent Prolog Machine) is a demo version of LPA MacProlog with the TPM debugger included. Runs on Apple Macintosh. It is available by anonymous FTP from Tricia is a free Prolog high-level emulator with interpreter available by email from Uppsala University. Tricia currently runs on the Apple Macintosh. It used to run on Sun3, Sun4, Apollo DN-3500/4500/5500 (OS version 10.*) and HP-730's, but support for those platforms has been discontinued. For more information, write to Uppsala University, Tricia project, Computing Science Department, Box 311, S-751 05 UPPSALA, Sweden, fax +46 18 511925, or email to It is available by anonymous ftp from A copy is also available in the directory /afs/ if your site runs the Andrew File System, or by anonymous ftp from WAMCC 2.2 is a WAM-based Prolog to C compiler. It conforms more or less to the Edinburgh standard, and includes most of the usual built-in predicates, a top-level, a Prolog debugger and a WAM debugger. WAMCC is designed to be easily extended (see clp(FD) in [2-5], for example). WAMCC's speed is halfway between SICStus emulated and SICStus native code on a Sparc (1.5 times faster and 1.5 times slower, respectively). WAMCC requires GCC 2.4.5 or higher and has been tested on Sparc workstations. It should be easily ported to 32-bit machines with GCC. WAMCC is available free by anonymous ftp from For more information, write to Daniel Diaz <>, INRIA Rocquencourt, FRANCE. XSB is a Prolog-based Logic Programming System that extends the standard functionality of Prolog with an implementation of OLDT (tabling) and HiLog terms. It is a descendent of PSB-Prolog and SB-Prolog. OLDT resolution is useful for recursive query computation, allowing programs to terminate correctly in many cases where Prolog does not. HiLog supports a type of higher-order programming in which predicate symbols can be variable or structured. This allows unification to be performed on the predicate symbols themselves in addition to the arguments of the predicates. XSB includes an optimizing compiler, C interface, a module system, list processing libraries, and dynamic loading. XSB is a descendant of SB-Prolog. XSB runs on Sun3, Sun4, 386/486 PCs (Linux and 386 BSD), SGI machines (IRIX), HP 300/400 series (HP-UX) and NeXT, and can be compiled using either the GNU C compiler or the Sun C compiler. Porting XSB to any 32-bit machine running Unix should be straightforward. THIS IS A BETA RELEASE. XSB is available by anonymous ftp from [] For more information, write to XSB Research Group, Computer Science Department, SUNY at Stony Brook, Stony Brook, NY 11794, or send email to See also BeBOP and NCL in [2-3].
Subject: [2-2] Commercial Prolog Implementations AAIS Full Control Prolog (version 3.1.3) is an Edinburgh-standard compiler and interpreter that runs on all Apple 680x0 Macintosh computers (from Plus through Quadras and Powerbooks). It runs under System 6 and 7 (or A/UX 3.0), requiring 4mb RAM, and is 32-bit clean. It is built on an object-oriented kernel, includes many object-oriented extensions to the language, functions for constructing graphical user interfaces, direct program access to the printer for printing text or graphics, and full support for Apple Events. There are also numerous example programs, including source code for the AAIS Full Control Prolog's own standard development interface, and how to interface with Oracle databases and FileMaker Pro databses. AAIS Full Control Prolog costs $495. For an additional $199 (and a signed license), you can get a copy of AAIS Prolog Program Creator, an application generator/runtime distribution system that turns Prolog programs into Macintosh applications. For more information, write to Advanced AI Systems, Inc., PO Box 39-0360, Mountain View, CA 94039-0360, call 415-948-8658, fax 415-948-2486, or email Earlier version (2.0) reviewed in AI Expert, Feburary 1991. [NOTE: Douglas Lanam, President of Advanced AI Systems, Inc., announced on April 1, 1994, that he would be ceasing all future development of the product due to economic and personal reasons. The remaining stock of AAIS Full Control Prolog and the Program Creator is being offered on an as-is basis with no return for $99 a copy. You can order copies by phone using your credit card. Technical support through phone, mail, and email is continuing, but they cannot return phone calls or faxes outside North America, so those replies would be sent by email or snail mail.] AIAI Edinburgh Prolog is a high level prolog emulator that runs on Acorn R140 (RISC iX), DG AViiON (DG/VX 4.1), Vax (Berkeley Unix, VMS), Gould Encore (Unix), HP 9000/300 (HP-UX), MIPS RISC (RiscOS), Sequent (DYNIX V3), Sun 2,3,4 (SunOS-3,4). For more information, write to AIAI, AI Applications Institute, Software Secretary, University of Edinburgh, 80 South Bridge, Edinburgh EH1 1HN, UK, call +44 (31) 650 2734, fax +44 (31) 226 2730, or send email to ALS Prolog - Workstation is a common version running on nearly all Unix machines (Sun 4.1.3 & Solaris; HP 9000/7xx/8xx; IBM PowerPC AIX; SGI IRIX; NeXT; DG AViiON), on DOS and DesqView/X (PCs with 80386 - Pentium), and on Macintosh (PowerMac and M680x0). Common price: $800 US ($880 outside US), with a 40% academic discount. Provides a superset of Edinburgh Prolog. Includes OOP, C interface (including embedding Prolog in C programs), Window systems interfaces (X Windows/Motif; NextStep; MacToolbox). Student editions $59: Mac - with interface; DOS - TTY (all PCs with DOS from 8088-Pentium; MS Windows in a DOS window). Available from Applied Logic Systems, Inc., PO Box 180, Newton Centre, MA 02159, phone 617-965-9191, fax 617-965-1636. Email: Send a message to with subject line "HELP" to get a general information file in reply. The URL for the WWW site is and the anonymous FTP site is Amzi! Prolog + Logic Server 3.3 (formerly Cogent Prolog) is an Edinburgh- standard development system and Logic Server API for embedding Prolog modules in C/C++, Visual Basic, Delphi, Access and other Windows 3.x, 95, NT 3.5x, DOS and 32-bit DOS tools. Amzi! Prolog can also be extended with your own predicates in C/C++ and Delphi. Professional, Personal and Student Editions, $79-$598. No royalties. Also available is an interactive tutorial, the Active Prolog Tutor ($75) and a tutorial with source code prototypes for expert systems shells including: forward/backward chaining, frames, rete- network and more ($94). For more information send email to, write to Amzi! Inc., 40 Samuel Prescott Drive, Stow, MA 01775, call 508-897-7332, or fax 508-897-2784. Additional information is also available from their anonymous FTP site or their Web page Arity Prolog 6.1 is an emulator with interpreter and compiler and runs on DOS ($650), OS/2 ($1k), Windows (extra $350), OS/2 V.2, and Windows-NT. (Note that Windows support means that you can write Prolog programs that manipulate Windows. The Windows version of Arity Prolog does not itself run under MS Windows.) For more information, write to Arity Corporation, Damonmill Square, Concord, MA 01742, call 800-722-7489 (508-371-1243), fax 508-371-1487, or send email to or Paul G. Weiss <>. ProLog by BIM is a high-performance and robust implementation of the Prolog language. It compiles to native machine code for maximum execution speed, and provides flexible memory management with automated expansion, shrinking, garbage collection and user-definable parameters. The ProLog by BIM environment comprises a GUI including an execution monitor and debugger, an on-line help facility, a extended emacs interface and a profiler. ProLog by BIM also includes a bi-directional external language interface, which is used for the included interfaces to graphics, windowing and RDBMS packages. The system also comes with a large library of Prolog source code which contains many of the most commonly used predicates. Stand-alone run-times without royalties and embeddability allow problem-free end-user delivery. ProLog by BIM comes with Carmen, a WYSIWYG GUI-Generator delivering Prolog code that allows notifiers and call-backs in Prolog and serves as a powerful rapid-prototyping aid. ProLog by BIM runs on SPARC, INTEL PC running Solaris 2.x, HP700 and IBM RS/6000. BIM provides both training and consultancy on Prolog and Prolog based developments efforts. For more information write to BIM Engineering Europe sa/nv, ProLog by BIM dept., avenue A. Einstein 4, B - 1348 Louvain-la-Neuve, Belgium, call +32 10 47 06 11, fax to +32 10 47 08 11 or email to CIM-Prolog is a high-level emulator with interpreter for Apollo Domain and Sun (Unix). Also Standard Prolog for Apollo Domain, IBM PC/AT (DOS), INMOS transputer, and Sun. A parallel version is also available. For more information, write to Creative Soft GmbH, Turnstrasse 10, D-8510 Fuerth, Germany, call +49 911 7499214, or fax +49 911 747756. Coder's Prolog 2.0 is a Prolog Interpreter from Austin Code Works. Works on any system with a C compiler (it is designed for use with C programs), including IBM PCs (MS-DOS) and Unix workstations. For more information, write to Austin Code Works, 11100 Leafwood Lane, Austin, TX 78750-3587, call 512-258-0785, fax 512-258-1342, or send email to Delphia Prolog v2 is an Edinburgh-standard compiler and interpreter that runs on Sun3, Sun4, Sparc, RS/6000, Apollo, HP9000/300, Unigraph 68xxx, 386/486 (SCO Unix), DecStation (Ultrix), Sony NEWS (Unix), VAX (VMS, Ultrix), uVax (Ultrix), VaxStation (Ultrix). Includes database interfaces, graphical libraries, and incremental compilation. Price $10,000. Write to Delphia, 27 Avenue de la Republique, 38170 Seyssinet, France, call 33-76-26-68-94 or fax 33-76-26-52-27. An earlier version was reviewed in AI Expert, January 1991 and Feburary 1991. ECRC SEPIA. See ECLiPSe. SEPIA is no longer delivered as a stand-alone system, but as a part of ECLiPSe. EDCAAD C-Prolog is a prolog interpreter for Sun (SunOS), VAX (Ultrix, VMS), Apollo, and 68000 (Unix). An inexpensive academic license is available. It is an interpreter-based system, and hence is slower than WAM-based Prologs. It is implemented in C, and should run on almost any 32-bit machine with a C compiler. For more information, write to EdCAAD, Department of Architecture, Edinburgh University, 20 Chambers St., Edinburgh EH1 1JZ, UK, call +44 (31) 650 1000, fax +44 (31) 667 0141, or send email to FRIL (Fuzzy Relational Inference Language) is a logic-programming language that incorporates a consistent method for handling uncertainty, based on Baldwin's theories of support logic, mass assignments, and evidential reasoning. Mass assignments give a consistent way of manipulating fuzzy and probabilistic uncertainties, enabling different forms of uncertainty to be integrated within a single framework. Fril has a list-based syntax, similar to the early micro-Prolog from LPA. Prolog is a special case of Fril, in which programs involve no uncertainty. Fril runs on Unix, Macintosh, MS-DOS, and Windows 3.1 platforms. For further information, write to Dr B.W. Pilsworth, Fril Systems Ltd, Bristol Business Centre, Maggs House, 78 Queens Rd, Bristol BS8 1QX, UK. A longer description is available as GT-Prolog is a high performance implementation of Edinburgh-standard Prolog for the Commodore Amiga. GT-Prolog includes the ProBench interactive development environment supporting incremental compilation, a multi-port debugger based on the Byrd model, a source code editor, and a break facility. GT-Prolog provides transparent access to sophisticated optimization techniques including Tail Recursion Optimisation, First Argument Indexing/Hashing, In-line Arithmetic Evaluation and automatic Garbage Collection of code and data. Error handling is based on catch and throw mechanisms. GT-Prolog is also one of the first implementations to support a fully logical Prolog database. GT-Prolog provides explicit control of memory allocation allowing programs to use up to 16mb for data and 4gb for code and requires a minimum configuration of 1Mb memory plus Workbench version 2 or later. GT-Prolog includes a library of more than 120 predicates that provide user programs with access to the facilities of AmigaDOS. The single user price is 89.95 pounds sterling inclusive of VAT and postage/packing. For more information, write to Graham Thwaites, Grange Technology Limited, Stream Road, Upton, Didcot, Oxon OX11 9JG, UK, tel/fax +44-1235-851818, or send email to or HyperProlog. See Delphia Prolog. IBM PROLOG for AIX/6000 (PFA) is a high performance implementation of the PROLOG language, combined with a powerful programming environment, especially designed for the IBM RISC System/6000 under AIX. PFA was developed by BIM as an adaptation of ProLog by BIM for the IBM RISC System/6000 under AIX. It was selected by IBM Europe as their official PROLOG implementation for the RISC System/6000. For more information contact: BIM Engineering Europe sa/nv, ProLog by BIM dept., avenue A. Einstein 4, B - 1348 Louvain-la-Neuve, Belgium, phone: +32 10 47 06 11 - fax: +32 10 47 08 11 - email: IF/Prolog 5.0 is a Prolog compiler with a variety of highly efficient constraint problem solving tools, including Boolean constraints, Rational terms, Linear terms, Equations and Inequations, Finite Domain Constraints and Co-routines. IF/Prolog conforms to the ISO Prolog Standard, part 1. IF/Prolog also includes interfaces to C, C++, FORTRAN, X11 (OSF/Motif and Athena widgetsets), and SQL (Ingres, Oracle, and Informix). IF/Prolog has full screen X11 and Windows based debuggers and online hypertext help and quick reference guide. It is available on Unix, OSF/1, VMS, MS-Windows, and mainframe systems, including Apollo, Aviion 300, Macintosh (A/UX), microVAX 2000 (Ultrix), Vax (Ultrix, VMS), VaxStation (Ultrix), DEC Alpha (OSF/1, VMS), HP9000, Sun3, Sun4, Sparc, UTS, AIX/370, IBM RS/6000, Decstation (Ultrix, OSF/1), Sequent S16, Silicon Graphics, Sony News (Unix), Motorola, Nixdorf, Interactive Unix, SCO UNIX, DOS-based 386 PCs, and Windows 3.0/3.1. Academic licenses are available at half price. For more information contact Annette Kolb (marketing) or Dr. Andrew Verden (technical) at IF Computer GmbH, Ludwig-Thoma-Weg 11a, D-82065 Baierbrunn, tel +49 89 7936 0037, fax +49 89 7936 0039, or email, or IF Computer Japan Ltd., 7/F 2nd Asanuma Bldg., 3-21-10 Hongo, Bunkyo-ku, Tokyo 113, Japan. tel + 81 3 3818 5826 fax + 81 3 3818 5829. They have a web page at the URL IQSOFT MProlog is a high-level emulator with interpreter for Unix, Macintosh and IBM PC (DOS). Runs on Vax (Unix 4.2 BSD), 68000-based machines (Unix), Tektronix 4404, HP3000, and Siemens 1. For more information, write to IQSOFT, SZKI Intelligent Software Ltd., Iskola u. 10., Budapest, H-1011, Hungary, call +36 1 201 6764, fax +36 1 201 7125, or send email to LPA Prolog is a 32-bit prolog compiler for IBM PCs (Windows 3.11/3.1 and Windows95, NT) and Apple Macintosh with direct access to graphics, menus, windows etc and incremental compilation and Edinburgh syntax compatability. LPA Prolog++ is an object-oriented programming system based on Prolog. (See Chris Moss's book on Prolog++ in [1-3].) flex is an expert system shell with access to the Prolog compiler system. MacProlog32 runs under System 7. Programmer Edition is $495 list, and the Developer Edition, which includes a runtime generator for producing standalone applications, is $995. LPA Prolog for Windows runs $495 and supports DDE and DLLs, and a variety of interfaces. Prolog++ runs $795 ($1,495 Developer Edition). LPA also offer the ProData Database Interface toolkit which uses ODBC technology to join Prolog clauses to RDMS tables. Contact vendor regarding educational discounts, site licences, and details of low-cost Personal Edition and new fuzzy logic and data mining products. Write to Logic Programming Associates, Ltd., Studio 4, Royal Victoria Patriotic Building, Trinity Road, London SW18 3SX, England, call +44 (0)181-871-2016, fax +44 (0)181-874-0449, In the US call 800-949-7567. or send email to (sales, tech support), or The URL for their web page is: Maxon Prolog is available for the Atari ST from the German magazine 'ST-Computer' for 298 DM. Tel: 010 49 61 96 481811. MU-Prolog, NU-Prolog are prolog interpreters from the University of Melbourne. Source licences are available for educational institutions. Implemented in C for BSD Unix. Currently running on Sun3, Sun4, Vax, Elxsi, Encore, and SGI. For more information, write to University of Melbourne, MU-Prolog Distribution, Department of Computer Science, Parkville, Victoria 3052, Australia, call +61 3 344 7270, or send email to or ORISA of Germany offers three Prolog implementations for OS/2: ORISApro, ORISAentry, and ORISAbase. + ORISApro: Interpreter, incremental compiler, debugger. Both command line and PM front end. Supports Edinburgh syntax and Edinburgh predicates. Wide range of built-in predicates. Interfacing to procedural languages. API for PM applications, SOM, and SQL. Non-standard data types include arrays, key-value lists (items), large rational numbers, skeletons with nonatomic names, strings, and user-defined types. Based on IBM's cancelled Prolog/2. Costs 1000 DM (about $700). [SOM support is not yet implemented, but should be available in a future version of ORISApro.] + ORISAentry: A light weight version of ORISApro, missing some of its advanced features, like SOM support and procedural language interface. Costs about 100 DM (about $70). Available since 1st quarter of 1995. + ORISAbase: Object-oriented Prolog development environment for Prolog based OS/2 GUI applications. Should be available in 3rd quarter 1995, with beta testing scheduled for October 1995. ORISAbase prices are planned to range from about 5,000 DM ($3,500) to about 100,000 DM ($70,000). The actual price depends on the number of ordered developer and runtime licenses and the number and type of service contracts. For informations and orders write to ORISA Software GmbH, Leutragraben 8a, D-07743 Jena, Germany Fax: +49 3641 588022, or ORISA Software GmbH, Sommerrain 8, D-70839 Gerlingen, Germany Tel/Fax: +49 7156 48808 OU Prolog is a prolog interpreter from Open University for IBM PC (MS-DOS). Includes video, books. Ask for item PD622 and quote reference SA69. For more information, write to Open University, Learning Materials Sales Office, PO Box 188, Milton Keynes MK7 6DH, UK. PDC Prolog runs on IBM PCs (DOS, OS/2, Windows and SCO Unix). Formerly known as Turbo Prolog from Borland. Includes a native code compiler but is incompatible with most other prologs. Its variables are strongly typed, unlike most other prologs. For more information, write Prolog Development Center, 568 14th Street, Atlanta, GA 30318, call 800-762-2710, (404-873-1366), fax 404-872-5243 or email (general information), (sales), (tech support). European customers may write to Prolog Development Center, A/S, H.J. Holst Vej 5A, DK-2605 Broendby, Denmark, call +45 36 72 10 22, or fax +45 36 72 02 69. Reviewed in AI Expert January 1991. Other email addresses include To subscribe to the mailing list, a discussion list for PDC Prolog users, send mail to with SUBSCRIBE PDC-L <your full name> in the message body. POPLOG is a high-level prolog emulator with interpreter for Unix. The POPLOG environment integrates four AI programming languages in one environment: Lisp, Prolog, ML and POP11. POPLOG can also load in C and Fortran binaries. Runs on VAX (Ultrix, VMS), VAXStation (Ultrix), DECStation (Ultrix), Sun 3,4, Sparc, Solbourne, HP Apollo 9000/400, Sparc (HP-UX), MIPS (RISCOS), Sequent Symmetry (Dynix), Apple Macintosh (AUX), SONY News (News-OS), and Silicon Graphics Iris (Irix). The academic version from Sussex University. For more information, write to POPLOG, Sussex University, Poplog Manager, School of Cognitive Sciences, Falmer, Brighton BN1 9QN, UK, call +44 273 608367, fax +44 273 678188, or send email to or The commercial version is available from Integral Solutions Ltd as Integral Poplog and Pop++. For more information, write to Integral Solutions Ltd, Unit 3, 23 Campbell Court, Bramley, Basingstoke Hampshire RG26 5EG, UK, call +44 256 88 20 28, fax +44 256 88 21 82, or send email to isl@integ.uucp or The North American retailer is Computable Functions Inc. For more informatin, write to Computable Functions Inc., 35 S. Orchard Drive, Amherst, MA 01002, call 413-253-7637, or fax 413-545-1249. Contact Robin Popplestone,, for info on a new book on Pop-11. There's a users mailing list, and a newsgroup as well (comp.lang.pop). Prolog-2 (Commercial Version), is a high-level emulator with interpreter and compiler for IBM PC (MS-DOS, Windows 3.0/3.1), and 386-up. (Non-PC versions for Sun3, Sun4, HP9000 (Unix), RS/6000 (Unix), and VAX (VMS) are no longer supported, since ESI, the new owners, are also distributors for BIM-Prolog.) It is an Edinburgh standard prolog with a number of extensions. The windows version includes BIPs for programming windows graphics and dialogues. For more information, write to Expert Systems International (ESI), Attn: Leo Mulders, PO Box 148, NL-3700 AC ZEIST, the Netherlands, call +31-3404-22911, fax +31-3404-32888, or email <>. Prolog III integrates constraint programming with Prolog. It runs on Apple Macintosh, IBM PC (386, MS-DOS), Next, Sun3, Sun4, Sparc, HP9000, Apollo, RS/6000, Bull DPX, Masscomp (Unix), Vax (Ultrix, VMS), DecStation and MicroVAX. For more information, write to PrologIA, Parc Technologique de Luminy, Case 919, 13288 Marseilles cedex 09, France, call 33-91-26-86-36, fax 33-91-41-96-37, or send email to or The US point of contact for Prolog III by PrologIA is BIM Systems, Inc. Prolog-86 is available from Solution Systems Inc. For more information, write to Solution Systems Inc., 335-D Washington Street, Norwell, MA 02061, call 617-337-6963, or fax 617-431-8419. PTC (Prolog To C) is a portable Prolog compiler based around an optimized Prolog to ANSI C compiler. It runs on Sun, SGI, IBM (Unix), and HP. PTC includes an integrated compiler/interpreter, project-file-based compilation, a Motif user interface, editor, debugger, online help, and support for C modules. It costs $1,495 for the development environment and $795 for each additional runtime library. The standalone environment is $495. For more information, write to Paralogic Inc., 115 Research Drive, Bethlehem, PA 18015, call 215-861-6960, fax 215-861-8247 or send email to Quintec Prolog is a high-level emulator with interpreter for IBM PC (MS-DOS), and Unix workstations such as Vax, VAXstation (Ultrix, VMS), Decstation (Ultrix), and Sparc (SunOS4.0). For more information, write to Quintec Prolog, Quintec Systems Ltd., Midland House, West Way, Botley, Oxford OS2 0PL, UK, call +44 865 791565, or fax +44 865 791595. Quintus Prolog is a complete Prolog development system with extensive Prolog libraries, graphical user interface, source-linked debugger, profiler, on-line help, interface to X Windows, and user-customizable I/O and memory management. Quintus Prolog supports development of stand-alone applications, as well as fully embeddable Prolog modules, which may be called as subroutines from other languages. There are no royalties on applications developed with Quintus Prolog. Quintus offers Prolog-based solutions for database, expert system, and GUI developers. Quintus also provides Prolog consulting and Prolog training. Platforms include DEC Alpha (OSF/1), HP 9000 (HP-UX), IBM RS/6000 (AIX), PC (DOS, Windows, Windows NT, Solaris, OS/2), Macintosh 32bit, SGI (IRIX), Sun SPARC (SunOS, Solaris). For product information and Prolog training schedules contact Quintus Corporation, 301 East Evelyn Avenue, Mountain View, CA 94041, call 415-254-2800 or 800-542-1283 (US), fax 415-428-0211, or send email to To be added to the users group mailing list, email to The email address for technical support is SICStus Prolog: SICStus Prolog 3 is an Edinburgh compatible Prolog that runs on most UNIX 32 and 64 bit platforms, Windows (NT and 95), MSDOS, and Macintosh platforms. It includes a WAM-based emulator and compiler, native code compilation for Sparc, MIPS and 680x0, indexed interpreted and compiled predicates mixed arbitrarily, modules, term and goal expansion hooks, support for cyclic terms, garbage collection and stack shifting, backtrackable side-effects and mutable terms, attributed variables and coroutining facilities, exceptions, unbounded precision integer arithmetic, double precision floating point arithmetic, extended set of built-in arithmetic functions, constraint solvers for Booleans, reals, rationals and finite domains (unbundled), support for building stand-alone applications, bidirectional C/Prolog interface, user-defined streams and signals, a GNU Emacs interface, execution profiling, and a "procedure box" debugger. An OR-parallel version of the development system, MUSE, can be built on several multiprocessor platforms. SICStus Prolog comes with a library of utility modules implementing commonly needed algorithms and data types, an external store for Prolog facts with user-defined indexing, an object-oriented extension (Prolog Objects), a package for GUI construction based in Tcl/Tk, access to operating system services, and more. Information about licensing, available third party software, and useful links is available on the WWW, URL or by writing to SICS, Swedish Institute of Computer Science, PO Box 1263, S-164 28 KISTA, Sweden, calling +46 8 752 15 02, fax +46 8 751 72 30, or sending email to or Bug reports and tech support questions should be sent to To subscribe to the users group and implementors mailing list, send email to Mixtus is an automatic partial evaluator for SICStus Prolog. Presently it is distributed separately. Contact for more information. SNI Prolog Version 3 is an implementation of the Prolog language that is compatible with the ISO Standard draft. It is available from Siemens Nixdorf for Unix workstations for about DM 11100 in Germany. SNI Prolog runs on the SGI, SNI and Sun platforms, and ports to other systems, including MS-DOS, are in progress. Includes coroutines, finite domains, numerical and boolean constraints, garbage collection, incremental compilation, dynamic linking, hypertext style on-line help, a window environment with an integrated editor, interfaces to INFORMIX, Motif/XWindows and C. The constraint programming features of SNI Prolog provide support for solving problems from operations research such as dynamic resource allocation and flexible scheduling with numerical constraints or the verification of complex systems with Boolean constraints. For more information, write to Siemens Nixdorf Informationssysteme AG, Otto-Hahn-Ring 6, D-8000 Munich 83, Germany, Attn: Hans-Juergen Stenger, Systems Planning, call +49 89 636 44049, fax +49 89 636 41208, or send email to SPIES YAP is a high-level emulator with interpreter for the Apple Macintosh, Amiga (Atari ST), and Unix workstations including Sun3, Sun4, VAXstation, SGI, and HP9000. For more information, write to SPIES, Sociedade Portuguesa de, Importacao e Exportacao de Software, Lda Av da Republica, 46 - 2, 1000 Lisboa, Portugal, call +351 1 795075, or fax +351 1 775891. Turbo Prolog. See PDC Prolog. Visual Prolog. Developed as the multi-target GUI based successor to PDC Prolog (described above). The Standard version generates source code compatible 16-bit GUI executables for Win3.1x, Win95, WinNT and OS/2 PM (Prof.version only). The Professional version can be used to generate both 16 and 32-bit applications. The O/S independent VPI (Visual Programming Interface) combined with a host of automatic code generation and maintenance tools and full on-line help ease the construction of complicated applications. The Visual Prolog Web Pages at the URL htpp:// contain product information and news as well as free Visual Prolog tools and updates. Prolog Development Center developed the well known (but now extinct) Turbo Prolog from Borland. For more information US customers should call 1-800-762-2710 or 1-404-873-1366, fax 1-404-872-5243, write to Prolog Development Center, 568 14th Street, Atlanta, GA 30318, or send email to Customers in other countries should call +45 36 72 10 22, fax +45 36 72 02 69, write to Prolog Development Center A/S, H.J. Holst Vej 3A - 5A, DK-2605 Broendby, Denmark, or send email to or A BBS is run at 404-872-5358. An early version of PDC Prolog was reviewed in AI Expert, January 1991. PDC has a forum on CompuServe (GO PCVENB). To subscribe to the mailing list, a discussion list for PDC Prolog and Visual Prolog users, send mail to with SUBSCRIBE PDC-L <your full name> in the message body. XPRO 5.0 is a Prolog development environment for OS/2. It includes a 32-bit Prolog interpreter/compiler and a rule compiler than compiles natural language-style rules into Prolog code. Includes a C/C++ interface. Costs $299 (no runtime or license fees). For more information, contact: Rational Vision, 7111 West Indian School Road, Suite 131, Phoenix, AZ 85033, or phone 602-846-0371. See also CHIP V4 from COSYTEC in [2-6].
Subject: [2-3] Free Parallel Prolog Implementations This section contains free parallel Prolog and logic programming implementations. BAP: Brain Aid Prolog (BAP) is a Concurrent Sequential Processes (CSP) based standard Prolog for Transputer networks. BAP uses its own MS Windows or X Windows server for I/O. Special features include automatic topology adapation and concurrent source level debugging (see several processes exchange messages). Performance is pretty high, comparable to that of other Prolog compilers. BAP has achieved good results (>80% efficiency) when executing applications like N-queens or checkers in parallel on an 8 processor network. A demo version that supports Transputer systems with a maximum of 2 processors is available by anonymous ftp from and also from the CMU AI Repository, in A full version for up to 128 nodes is also available for both SUN and PC. Write to Frank Bergmann <> or <> for more information. BeBOP: The BeBOP language combines sequential and parallel Logic Programming (LP), object oriented programming and meta-level programming. The LP component offers both don't know non-determinism and stream AND parallelism, a combination not possible with concurrent LP languages. BeBOP's object oriented features include object IDs, encapsulation, message passing, state updating, and object behaviour modification. The meta-level capabilities are based on the treatment of Prolog theories as first order entities, which enables them to be updated easily and lets fragments to be passed between objects in messages. BeBOP is implemented by translation down to NU-Prolog, and its parallel extension, PNU-Prolog. The BeBOP system (BeBOP and bp) and the PNU-Prolog preprocessor pnp can be obtained by anonymous ftp from []. The release comes with a user manual, several papers (in Postscript format), sample programs, and source code. The BeBOP system requires the NU-Prolog system, compiler and interpreter, the pnp preprocessor (which is included as part of the BeBOP system release), GCC or a similar compiler, Yacc (or Bison) and Lex. For more information, contact Andrew Davison, <>, Dept. of Computer Science, University of Melbourne, Parkville, Victoria 3052, Australia, call +61 3-287-9172/9101, or fax +61 3-348-1184. KLIC: KLIC is a portable implementation of KL1 (an extended Flat GHC), a concurrent logic programming language developed at ICOT in Japan. Runs on Suns, HPs, DECs, and Linux PC's and marks 2 MLIPS on SparcStation 10/30 and 4MLIPS on system with 200MHz Alpha. A sequential version available via anonymous ftp from Parallel versions planned shortly. A representative paper on the language is Kazunori Ueda and Takashi Chikayama, "Design of the Kernel Language for the Parallel Inference Machine", The Computer Journal, December, 1990. A paper on its KLIC implementation is Takashi Chikayama, Tetsuro Fujise and Daigo Sekita, "A Portable and Efficient Implementation of KL1", PLILP'94 (LNCS #844, Springer-Verlag). For more information, send an email to or write to ICOT Free Software Desk, Institute for New Generation Computer Technology, 21st Floor, Mita Kokusai Bldg., 4-28, Mita 1-chome, Minato-ku, Tokyo 108, Japan, fax +81-3-3456-1618. Multi-BinProlog: Multi-BinProlog 2.00 is a prototype Linda-style parallel extension to BinProlog 1.71 developed by Koen De Bosschere and Paul Tarau. It uses Koen's C-parser and C-writer which together speed-up IO considerably. It works with shared-memory and remote procedure calls and is available from See BinProlog in [2-1] for more information. NCL: NCL (Net-Clause Language) is aimed at describing distributed computation models using term unification as a basic processing and control mechanism. It is embedded in standard Prolog and comprises two parts -- net-clauses and data-driven rules, which can communicate each to other and to standard Prolog programs. A net-clause is a special domain in the database defining a network of nodes and links. The nodes are represented by Prolog compound terms. The variables occurring within the nodes are global logical variables, which can be shared within the scope of the net-clause thus playing the role of network links. Two control mechanisms are implemented: a spreading activation scheme similar to the connectionist spreading activation and to the marker passing mechanism in SN (in logic programming it is seen as a restricted forward chaining) and a default mechanism based on using variables to propagate terms without being bound to them, thus implementing the non-monotonicity of default reasoning. The Data-driven Rules implement a full scale forward chaining for Horn clauses. They simulate a data-driven parallel computation, where each rule is a process (in contrast to the traditional parallel logic programming where each goal is a process). The NCL/Prolog interpreter along with a reference manual and a set of examples is available by anonymous ftp at For more information contact Zdravko Markov, Institute of Informatics, Bulgarian Academy of Sciences Acad.G.Bonchev Street, Block 29A, 1113 Sofia, Bulgaria, <>. PCN: PCN (Program Composition Notation) is not a logic programming language, but it has similarities to Strand and other concurrent logic programming languages. PCN is a parallel programming system that provides a simple language for specifying concurrent algorithms, interfaces to Fortran and C, a portable toolkit that allows applications to be developed on a workstation or small parallel computer and run unchanged on supercomputers, and integrated debugging and performance analysis tools. PCN includes a runtime system, compiler, linker, a set of standard libraries, virtual topology tools, a symbolic debugger (PDB), an execution profiler (Gauge), and a trace analysis tool (Upshot). PCN was developed at Argonne National Laboratory and the California Institute of Technology. PCN runs on Sun4, NeXT, IBM RS/6000, SGI Iris, Intel iPSC/860, Intel Touchstone DELTA, Sequent Symmetry running Dynix (not PTX), and should be easy to port to other architectures. PCN is in the public domain and can be obtained by anonymous ftp from The distribution includes a user's guide containing a tutorial and reference material. For further information on PCN, please send email to <> or contact Ian Foster <> 708-252-4619 or Steve Tuecke <> 708-252-8711. ROLOG: ROLOG is a parallel PROLOG compiler with a reduce-OR process model. It is available by anonymous ftp from See also IC-Prolog II (a multi-threaded Prolog) in [2-1].
Subject: [2-4] Commercial Parallel Prolog Implementations This section contains commercial parallel Prolog and logic programming implementations. Densitron CS Prolog is a parallel prolog compiler and interpreter for IBM PCs (MS-DOS or OS/2), T414/T800 transputer (mono or multi), 386 (Unix V), uVAX (VMS), or VAX(VMS). Also standard Prolog for MS-DOS, UNIX and VAX. For more information, write to Densitron, Unit 4, Aiport Trading Estate, Biggin Hill, Kent, TN16 3BW, UK, call +44 959 76331, or fax +44 959 71017. Paralogic is a parallel implementation of the Clocksin and Mellish Prolog. It runs on DOS-based PCs or Apple Macintoshes with the INMOS Transputers. For more information, write to Paralogic Inc., 115 Research Drive, Bethlehem, PA 18015, call 215-861-6960, fax 215-861-8247 or email It is also distributed by Computer Systems Architects, 905 N. University Avenue, Provo, UT 84604-3422, 800-753-4272 (801-374-2300), or fax 801-374-2306 as n-parallel Prolog. PARLOG is a parallel emulator from Imperial College for the Sequent Balance, Sequent Symmetry, Encore Multimax, Alliant FX (Unix), Sun (Unix, 1 processor). For more information, write to Imperial College, Department of Computing, Parlog Distribution Secretary, 180 Queen's Gate, London SW7 2BZ, UK, call +44 71 589 5111 x7537, fax +44 71 589 8024, or send email to The single processor versions of PARLOG for the Sun-3 and Sun-4 are now available free of charge. Please refer to the entry regarding IC-Prolog II in this Resource Guide. Parallel Logic Programming produces PC-PARLOG and MacPARLOG for the IBM PC and Macintosh computers. For more information contact Parallel Logic Programming Ltd., PO Box 49, Twickenham, Middlesex TW2 5PH, UK or call +44 454 201 652. Strand-88 is a parallel emulator for Sun3, Sun4, Sparc BBN Butterfly, GPT2000, Cogent Multimax, Intel iPSC/2, iPSC/860, MIPS RiscStation, Sequent Symmetry Balance (Unix System V or Mach, Helios) and communication component from CSTools, Express in some cases. Also Transputer systems PC hosted systems from Paracom, Telmat and others, Unix hosted systems from Meiko, Paracom, Telmat and others, Apple Macintosh, Atari ATW, and NeXT. Price dependent on configuration and scale of target machine. For more information, write to Strand Software Technologies Ltd., Ver House, London Rd, Markyate, Herts AL3 8JP, UK, call +44 582 842424, fax +44 582 840282, or send email to strand88@sstl.uucp. SICS Aurora and Echo. See SICStus Prolog above.
Subject: [2-5] Free Constraint Systems This section contains constraint systems, constraint logic programming systems, concurrent constraint languages, and other constraint processing systems. CIAL: CIAL 1.0b is an interval constraint logic programming language. The main difference between CIAL and other CLP(Interval) languages is that a linear constraint solver, which is based on preconditioned interval Gauss-Seidel method, is embedded in CIAL in addition to the interval narrowing solver. The main motivations for a linear solver are: * Pure interval narrowing fails to narrow the intervals to any useful width even for such simple systems as {X+Y=5, X-Y=6}. Interval splitting may help but is costly. * Pure interval narrowing cannot always detect inconsistency or halt (in a reasonable time). A simple example is {A+1=D, A+B=D, A>0, B<0}. * Efficient linear constraint solver is also important to the study of efficient non-linear constraint-solving. Recent results show that interval Newton method works better than pure interval narrowing for solving non-linear constraints, but may require to solve many linear constraints in order to give the best results. This version of CIAL prototype is implemented as an extension to CLP(R) v1.2 and tested on Sun Sparc machines. You should have obtained CLP(R) from IBM prior to installing CIAL. The distribution is in the form of patches to the CLP(R) sources. [See entry on CLP(R) below]. Send email to to request CIAL, and for more details. Relevant papers include C.K. Chiu and J.H.M. Lee, "Towards practical interval constraint solving in logic programming", in Proceedings of the Eleventh International Logic Programming Symposium, Ithaca, NY, USA, November 1994 (to appear). J.H.M. Lee and T.W. Lee, "A WAM-based abstract machine for interval constraint logic programming and the multiple-trailing problem", in Proceedings Sixth IEEE International Conference on Tools with Artificial Intelligence, New Orleans, Nov 1994. cu-Prolog: cu-Prolog is an experimental constraint logic programming language available free from Japan's Institute for New Generation Computer Technology (ICOT). Unlike most conventional CLP systems, cu-Prolog allows user-defined predicates as constraints and is suitable for implementing a natural language processing system based on the unification-based grammar. For example, the cu-Prolog developers implemented a JPSG (Japanese Phrase Structure Grammar) parser in cu-Prolog with the JPSG Working Group (the chairman is Prof. GUNJI, Takao of Osaka University) at ICOT. cu-Prolog is a complete implementation of Constraint Unification (cu), hence the name. cu-Prolog is implemented in C for BSD UNIX 4.2/3. Professor Sirai of Chukyo-University has also implemented cu-Prolog for the Apple Macintosh and DJ's GPP (80386/486 MS-DOS machine with the DOS extender). cu-Prolog is available free by anonymous ftp from For further information, send email to, or write to ICOT Free Software Desk, Institute for New Generation Computer Technology, 21st Floor, Mita Kokusai Bldg., 4-28, Mita 1-chome, Minato-ku, Tokyo 108, Japan, fax +81-3-3456-1618. clp(FD): clp(FD) 2.2 is a constraint logic programming language over finite domains and booleans based on the wamcc Prolog compiler (see [2-1]). clp(FD) provides several constraints "a la CHIP" on finite domains and booleans and some facilities for building new constraints. clp(FD) is 4 times faster than CHIP v3.2 on average. clp(FD) requires GCC 2.4.5 or higher and has been tested on Sparc workstations, DEC (Ultrix), Sony MIPS (R3000), and 386/486 PCs under linux. It should be easily ported to 32-bit machines with GCC. clp(FD) is available free by anonymous ftp from For more information, write to Daniel Diaz <>, INRIA Rocquencourt, FRANCE. CLP(R): CLP(R) is a constraint logic programming language with real-arithmetic constraints. The implementation contains a built-in constraint solver which deals with linear arithmetic and contains a mechanism for delaying nonlinear constraints until they become linear. Since CLP(R) subsumes PROLOG, the system is also usable as a general-purpose logic programming language. It includes facilities for meta-programming with constraints. The system consists of a compiler, byte-code emulator, and constraint solver. CLP(R) is written entirely in C and runs on Suns, Vaxen, MIPS-based machines (Decstations, Silicon Graphics), IBM RS6000s and PS2s. Includes MS-DOS support. It is available free from IBM for academic and research purposes only. To get a copy, write to Joxan Jaffar, H1-D48, IBM Thomas J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY 10598, or send email to or joxan@yktvmh.bitnet. Current version 1.2. For more information, write to Joxan or Roland Yap <>. OZ: Oz is a concurrent constraint programming language designed for applications that require complex symbolic computations, organization into multiple agents, and soft real-time control. It is based on a computation model that provides a uniform foundation for higher-order functional programming, constraint logic programming, and concurrent objects with multiple inheritance. From functional languages Oz inherits full compositionality, and from logic languages Oz inherits logic variables and constraints (including feature and finite domain constraints). Search in Oz is encapsulated (no backtracking) and includes one, best and all solution strategies. DFKI Oz is an interactive implementation of Oz featuring a programming interface based on GNU Emacs, a concurrent browser, an object-oriented interface to Tcl/Tk, powerful interoperability features (sockets, C, C++), an incremental compiler, a garbage collector, and support for stand-alone applications. Performance is competitive with commercial Prolog and Lisp systems. DFKI Oz is available for many platforms running Unix/X, including Sparcs and 486 PCs. Applications DFKI Oz has already been used for include simulations, multi-agent systems, natural language processing, virtual reality, graphical user interfaces, scheduling, placement problems, and configuration. Version 1.0 of DFKI Oz has been released on January 23, 1995. DFKI Oz is available by anonymous ftp from or through the WWW from Tutorials, reference manuals, and research papers are available from the same locations. You may start with "A Survey of Oz" (8 pages) and continue with "An Oz Primer" (110 pages). Questions may be directed to To join the Oz users mailing list, contact See also ECLiPSe, Beta-Prolog, and LIFE in [2-1] and ALE in [1-5].
Subject: [2-6] Commercial Constraint Systems This section contains constraint systems, constraint logic programming systems, concurrent constraint languages, and other constraint processing systems. CHIP V4 (Constraint Handling In Prolog) is designed as an extension to Prolog offering three constraint solving domains: Integers, Rationals and Booleans. The system was originally developed at ECRC in Munich and now extended by the same team at COSYTEC in Paris. CHIP V4 includes extensions to the three domains: symbolic constraints, update demons and cumulative constraints. The system is available with optional interfaces for X11 and DOS graphics (XGIP), Oracle or Ingres database connection (QUIC), C language interface (CLIC) and embedded application interface (EMC). CHIP V4 is written completely in C, and is available on a range of workstations including SunSparc (SunOS 4.1), IBM RS6000 (AIX 3.2), HP 9000/700 series (HPUX 9.0) and Decstation 3000 & 5000 (Ultrix 4.2) and PC386/486 (Dos 5.0). Development and Runtime licences can be purchased for single-user, multi-user or site licences together with support and maintenance. An academic discount is offered for educational and research purposes. For more information contact COSYTEC, Parc Club Orsay Universite 4 rue Jean Rostand, 91893 Orsay Cedex, France, phone +33-1-60-19-37-38, fax +33-1-60-19-36-20 or email <>. The Tech Support email address is COSYTEC is a founding member of the PVG (Prolog Vendors Group). CLP(R) is a constraint system from Monash University for VAX, Sun, and Pyramid (Unix). Costs $150. For more information, write to Monash University, CLP(R) Distribution, Department of Computer Science, Clayton, Victoria 3168, Australia, or send email to CLP(RI) is a Prolog-based Constraint Logic Programming (CLP) language whose constraint-handling applies to arithmetic on Real Intervals (RI). It is available on the Macintosh (PowerMac and M680x0 - all versions from 1 MB Mac Plus up). The constraint system allows users to express both non-linear and linear equations as constraint relations. Includes a four-port debugger, foreign language interfaces (C and Pascal), freeze/delay, tasking, and a high-level extensible GUI tool. Further information and on-line manuals available on the Web site. Price: $75 US ($80 outside US). Available from Applied Logic Systems, Inc., PO Box 180, Newton Centre, MA 02159, phone 617-965-9191, fax 617-965-1636. Email: Send a message to with subject line "HELP" to get a general information file in reply. The URL for the WWW site is and the anonymous FTP site is ILOG SOLVER (formerly called PECOS) is a C++ library that implements a CLP (Constraint Logic Programming) instance known as finite domains. It is available on most Unix platforms, including Sun, HP, IBM RS-6000, DEC, and SGI, and on Windows 3.1 for both Microsoft Visual C++ and Borland C++. This library includes: - Prolog control structures: non determinism, choice points, backtracking and cut. Modification of user-defined objects can be trailed so that their state is restored when a failure occurs. - Finite domain logical variables, and associated constraints. - Finite set logical variables and associated constraints. - Interval floating point variables, and associated constraints, analogous to what is found in BNR Prolog. - Predefined search and optimization algorithms. ILOG SOLVER does not use unification for passing arguments. This enables a smooth integration with C++. For further information: In the USA and Canada, contact ILOG, Inc., 2073 Landings Drive, Mountain View, CA 94303, phone (415) 390-9000, fax (415) 390-0946, e-mail Outside the USA and Canada: contact ILOG SA, 12 avenue Raspail, 94251 Gentilly Cedex, France, tel (+33 1) 4740-8000, fax (+33 1) 4740-0444, e-mail, or URL See also for some papers about Ilog Solver and Ilog Schedule. VS Trilogy is a Prolog compiler available from Vertical Software for $395. For more information, write to Vertical Software Ltd., 14-636 Clyde Ave, W. Vancouver, BC, V7T 1E1, Canada, call 604-925-0321, or fax 604-688-8479. See also Prolog III and SNI Prolog in [2-2].
Subject: [2-7] Free Logic Programming Systems ALF: ALF (Algebraic Logic Functional programming language) is a language which combines functional and logic programming techniques. The foundation of ALF is Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming. The abstract machine is based on the Warren Abstract Machine (WAM) with several extensions to implement narrowing and rewriting. In the current implementation programs of this abstract machine are executed by an emulator written in C. It is available by anonymous ftp from (aka as the files alf_*.zoo (Documentation, C sources for the emulator, the preprocessor and the compiler). For further information, contact Rudolf Opalla <>. CORAL: CORAL is a deductive database/logic programming system developed at the University of Wisconsin-Madison. It is a declarative language based on Horn-clause rules with extensions like SQL's group-by and aggregation operators, and uses a Prolog-like syntax. CORAL is available via anonymous ftp from The distribution includes source code compatible with AT&T C++ Version 2.0 or later, executables for Decstations and SUN 4s, the CORAL User Manual, and some related papers containing a language overview and implementation details. (A version of the source code compatible with GNU g++ will be available shortly.) For more information, contact Raghu Ramakrishnan, <>. Lolli: Lolli is an interpreter for logic programming based on linear logic principles. Lolli, named for the linear logic implication operator "-o" called lollipop, is a full implementation of the language described in the paper "Logic Programming in a Fragment of Intuitionistic Linear Logic" (Josh Hodas & Dale Miller, to appear in Information and Computation), though it differs a bit in syntax, and has several built-in extra-logical predicates and operators. Lolli is available by anonymous ftp from This distribution includes full ML source, along with a Makefile, as well as several background papers and a collection of example programs. For those who do not have SML-NJ at their site, the authors hope to provide pre-built binaries for a variety of architectures. These binaries can be found on At present Sparc and NeXT binaries are available. If you compile lolli on a new architecture, please contact Josh Hodas at <> so that he can make your binary available. Mercury: Mercury is a new, purely declarative logic programming language. Like Prolog and other existing logic programming languages, it is a very high-level language that allows programmers to concentrate on the problem rather than the low-level details such as memory management. Unlike Prolog, which is oriented towards exploratory programming, Mercury is designed for the construction of large, reliable, efficient software systems by teams of programmers. As a consequence, programming in Mercury has a different flavor than programming in Prolog. The main features of Mercury are: - Mercury is purely declarative: predicates in Mercury do not have non-logical side effects. - Mercury is a strongly typed language. Mercury's type system is based on many-sorted logic with parametric polymorphism, very similar to the type systems of modern functional languages such as ML and Haskell. Type errors are reported at compile time. - Mercury is a strongly moded language. - Mercury has a strong determinism system. - Mercury has a module system. - Mercury supports higher-order programming, with closures, currying, and lambda expressions. - Mercury is very efficient (in comparison with existing logic programming languages). Strong types, modes, and determinism provide the compiler with the information it needs to generate very efficient code. The current Mercury system runs on Unix machines. It is known to run on Solaris 2.x, IRIX 5.x, Ultrix 4.3, OSF/1.1, BSDI 1.1, and Linux. It should run without too many changes on other Unix variants as well. You need gcc version 2.6.3 or higher and GNU make version 3.69 or higher. The Mercury distribution is available via anonymous ftp or WWW from the following locations: Australia: USA: Europe: The Mercury WWW page is See also LIFE, SLG, and XSB in [2-1], BeBOP in [2-3], and Oz in [2-5].
Subject: [2-8] Commercial Logic Programming Systems None so far. This is to be expected, as most logic programming systems are experimental.
Subject: [2-9] Other Commercial Prolog Products ClauseDB is a database manager for Prolog data. Advanced knowledge-based applications often need to use a large number of highly complex data objects. The objects are so complex that they cannot be managed in a standard commercial RDB product, and the number of them makes it impractical to store them in the standard Prolog in-memory database. ClauseDB may also be useful even in Prolog applications whose data can be handled in a RDB. The retrieval procedure of ClauseDB is integrated in the Prolog search method. This avoids the performance problems that arise with the standard scheme for coupling Prolog with a RDBM (e.g., those caused by the well-known mismatch problem between tuple- and set-based retrieval methods). ClauseDB supports all the normal Prolog data objects (arbitrary terms and clauses) and provides a locking mechanism that allows the sharing of data while ensuring its integrity. ClauseDB 2.0 is available on SUN SPARC (SunOS 4.x and 5.x) and the INTEL PC running Solaris 2.x. For more information write to BIM sa/nv, ProLog by BIM dept., Kwikstraat 4, B - 3078 Everberg, Belgium, call ++32 2 759 59 25, fax to +32 2 725 47 83 or e-mail to
Subject: [2-10] Prolog extensions, meta-interpreters, and pre-processors ProFIT (Prolog with Features Inheritance and Templates) is an extension of Prolog with sorted feature structures (including multi-dimensional inheritance), finite domains, feature search, cyclic terms, and templates. ProFIT works as a pre-processor, which takes a file containing a ProFIT program as input, and gives a file with a Prolog program as output. Sorted feature terms and finite domains are compiled into a Prolog term representation, and the usual Prolog term unification is used at runtime, so that there is no slowdown through a unification algorithm, and no meta-interpreter is needed. ProFIT uses the same techniques for compiling sorted feature terms and finite domains into Prolog terms as the Core Langauge Engine of SRI Cambridge and the Advanced Linguistic Engineering Platform (ALEP 2.2) by the European Community, BIM, and Cray Systems. ProFIT is not a grammar formalism (although it is motivated by NLP), although it provides some ingredients that are considered typical of grammar formalisms. The goal of ProFIT is to provide these datatypes without enforcing any particular theory of grammar, parsing or generation. ProFIT can be used to extend your favourite Prolog-based grammar formalism, parser and generator with the expressive power of sorted feature terms. Cyclic terms can be printed out and a user-configurable pretty-printer for feature terms is provided. ProFIT is available free of charge by anonymous ftp from and is implemented in Sicstus Prolog (2.1 #9). For more information, write to Gregor Erbach, Univ. Saarlandes, Saarbruecken, Germany <> <>. ---------------------------------------------------------------- ;;; *EOF*

User Contributions:

Comment about this article, ask questions, or add new information about this topic:


Part1 - Part2 - MultiPage

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:

Last Update March 27 2014 @ 02:12 PM