Archive-name: prolog/resource-guide/part2
Last-Modified: Thu Mar 13 12:13:00 1997 by Mark Kantrowitz
Version: 1.35
Maintainer: Mark Kantrowitz <mkant+prg@cs.cmu.edu>
URL: http://www.cs.cmu.edu/Web/Groups/AI/html/faqs/lang/prolog/prg/top.html
Size: 91137 bytes, 1682 lines
;;; ****************************************************************
;;; 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: mkant+prolog-guide@cs.cmu.edu
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 <info@pap.com>.
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:
ftp://prep.ai.mit.edu/pub/gnu/
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
ftp.cs.cmu.edu:/user/ai/lang/prolog/impl/
A.D.A. Public Domain Prolog:
aisun1.ai.uga.edu:ai.prolog/adapdpro.zip
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 listserv@acal-server.usc.edu 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 aquarius@acal-server.usc.edu.
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
ftp://ftp.kyutech.ac.jp/pub/Language/prolog/ [131.206.1.101]
or from the CMU AI Repository in
ftp://ftp.cs.cmu.edu/user/ai/lang/prolog/impl/prolog/beta_pl/
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, <zhou@mse.kyutech.ac.jp>, 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 betaprolog@cad.mse.kyutech.ac.jp.
BinProlog:
clement.info.umoncton.ca:/BinProlog3.0.tar.gz [139.103.16.2]
ftp.elis.rug.ac.be:/pub/BinProlog/ [157.193.67.1]
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@info.umoncton.ca>.
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
ftp://cnam.cnam.fr/pub/Boizumault/
or from the CMU AI Repository in
ftp.cs.cmu.edu:/user/ai/lang/prolog/impl/prolog/boiz_pl/
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 <boizu@math-appli-uco.fr>.
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 k-hata@air.co.jp or matsuura@air.co.jp.
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 eclipse_request@ecrc.de 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
ecrc.de:/pub/eclipse
To subscribe to the eclipse_users@ecrc.de mailing list, send mail to
eclipse_request@ecrc.de. The tech support email address is
eclipse_bugs@ecrc.de.
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
ftp.cs.cmu.edu:/afs/cs.cmu.edu/project/ergo/export/ess/. 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 elp@cs.cmu.edu mailing list, send
mail to elp-request@cs.cmu.edu. Bugs should be sent to
elp-bugs@cs.cmu.edu.
ESL Prolog-2 (PD Version):
ai.uga.edu:ai.prolog/eslpdpro.zip [128.192.12.9]
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
ftp://ftp.cs.kuleuven.ac.be/pub/logic-prgm/goedel/ [134.58.41.2]
ftp.cs.bris.ac.uk:/goedel [137.222.102.102]
For more information, write to goedel@compsci.bristol.ac.uk. 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 goedel-users@compsci.bristol.ac.uk mailing list, send mail to
goedel-users-request@compsci.bristol.ac.uk
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:
ftp://src.doc.ic.ac.uk/computing/programming/languages/prolog/icprolog/.
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 <dac@doc.ic.ac.uk> for questions about IC
Prolog II, and contact Zacharias Bobolakis <zb@doc.ic.ac.uk> 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
ftp.cs.cmu.edu:/user/ai/lang/prolog/impl/prolog/jbprolog/JBprolog2.1.2.sit.hqx
For more information contact Jan Burse, jburse@clients.switch.ch,
XLOG, Scheuchzerstr. 67, 8006 Zrich, Switzerland.
PIE2 is a Prolog interpreter for DOS. It is available on CompuServe in
the AIEXPERT forum. PIE2.zip contains the interpreter and examples, and
PIEDOC.ZIP contains the documentation. Written by Brent Ruggles
<ruggles@shell.com>.
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 <jensk@hpbbn.bbn.hp.com> for
information. Available by anonymous ftp from
ftp://ftp.cs.cmu.edu/user/ai/lang/prolog/impl/prolog/prolog68/
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 ftp://ftp.irisa.fr/local/pm/.
Written by Pascal Brisset <pbrisset@eis.enac.dgac.fr> (or <brisset@ecrc.de>)
and Olivier Ridoux (ridoux@irisa.fr). To be added to the mailing list,
send mail to prolog-mali-request@irisa.fr. For more information, send
mail to pm@irisa.fr.
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 gatekeeper.dec.com:/pub/plan as the file
Life1.0.tar.Z. To be added to the mailing list (life-users@cs.sfu.ca),
send mail to life-users-request@cs.sfu.ca. Send bug reports to
life-bugs@cs.sfu.ca.
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:
ftp.cs.tcd.ie:/languages/open-prolog/ [134.226.32.15]
It is also available from other sites, such as:
ftp://sumex-aim.stanford.edu/info-mac/
mac.archive.umich.edu [141.211.165.41].
For more information, write to Michael Brady, Computer Science
Department, Trinity College, Dublin 2, IRELAND, send email to
brady@cs.tcd.ie, call +353 1 6081786, or fax +353 1 6772204.
PD Prolog 19:
ftp://wuarchive.wustl.edu/mirrors/msdos/prolog/ (IBM PC)
aisun1.ai.uga.edu (128.192.12.9)
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
ftp.cs.uq.oz.au:/pub/SVRC/
as software/qp.tar.Z and software/Ergo.tar. The tech report
techreports/tr93-18.ps.Z describes Qu-Prolog in detail. Send comments
to Peter Robinson <pjr@cs.uq.oz.au>.
SB-Prolog:
ftp://cs.arizona.edu/
ftp://sbcs.sunysb.edu/pub/
Stony Brook Prolog runs on Sun4, Pyramid-98x, DEC3100, SGI Iris,
Amiga, and MS-DOS machines. Contact warren@sbcs.sunysb.edu 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
sbcs.sunysb.edu:/pub/hilog/
src.doc.ic.ac.uk [146.169.2.10] contains SBProlog 3.1 executables for
MS-DOS/386 in /computing/programming/languages/prolog/sbprolog,
filename sbpmsdos.zip.
nic.funet.fi 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
ftp.dcs.ed.ac.uk:/pub/dts/mod-prolog.tar.Z [129.215.160.5]
Includes interpreter for SPARC. For more information, write to
Brian Paxton <mprolog@dcs.ed.ac.uk>.
[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
seas.smu.edu:/pub/ [129.119.3.2]
sbcs.sunysb.edu:/pub/XSB/ [130.245.1.15]
as the file slg.tar.gz. Comments, requests, and bug reports should
be sent to Weidong Chen, <wchen@seas.smu.edu>, Computer Science and
Engineering, Southern Methodist University, Dallas, Texas 75275-0122,
phone 214-768-3097, or David Scott Warren, <warren@cs.sunysb.edu>,
Department of Computer Science, SUNY at Stony Brook, Stony Brook,
NY 11794-4400, phone 516-632-8454.
SWI Prolog:
ftp://swi.psy.uva.nl/pub/SWI-Prolog/ [145.18.114.17] (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: http://swi.psy.uva.nl/usr/jan/SWI-Prolog.html (home)
http://www.swi.psy.uva.nl/usr/jan/SWI-Prolog/Manual/Title.html (man)
List: prolog@swi.psy.uva.nl, subscribe to prolog-request@swi.psy.uva.nl
Author: Jan Wielemaker, jan@swi.psy.uva.nl.
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 prolog-request@swi.psy.uva.nl.
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 prolog-request@swi.psy.uva.nl).
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 hcrl.open.ac.uk:/pub/software/.
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
tricia-request@csd.uu.se. It is available by anonymous ftp from
ftp.csd.uu.se:/pub/Tricia/
A copy is also available in the directory
/afs/umich.edu/group/itd/archive/mac/development/languages
if your site runs the Andrew File System, or by anonymous ftp from
mac.archive.umich.edu.
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
ftp://ftp.inria.fr/INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/wamcc/
For more information, write to Daniel Diaz <Daniel.Diaz@inria.fr>,
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
sbcs.sunysb.edu:/pub/XSB/XSB.tar.Z [130.245.1.15]
For more information, write to XSB Research Group, Computer Science
Department, SUNY at Stony Brook, Stony Brook, NY 11794, or send email to
xsb-contact@cs.sunysb.edu.
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 AAISProlog@aol.com. 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 AIAI@ed.ac.uk.
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: info@als.com. Send a message to info@als.com
with subject line "HELP" to get a general information file in reply.
The URL for the WWW site is
http://www.als.com/
and the anonymous FTP site is ftp.als.com.
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
info@amzi.com, 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
ftp://ftp.amzi.com/pub/users/amzi/
or their Web page
http://www.amzi.com
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 73677.2614@compuserve.com or Paul G.
Weiss <pgweiss@netcom.com>.
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 prolog@bim.be.
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 info@acw.com.
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 chris@caad.ed.ac.uk.
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
ftp://ftp.cs.cmu.edu/user/ai/areas/fuzzy/com/
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
gtpam@gtech.demon.co.uk or 100434.3011@compuserve.com.
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: prolog@bim.be
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
prolog@mch.sni.de, 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
http://www.biz.isar.de/ifcomputer/
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 szeredi@iqsoft.hu.
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 lpa@cix.compulink.co.uk (sales, tech support), or
100135.134@compuserve.com
The URL for their web page is:
http://www.lpa.co.uk/
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
lee@cs.mu.oz.au or jws@cs.mu.oz.au.
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
pdc-request@pdc.dk (general information), sales@pdc.dk (sales),
support@pdc.dk (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 753CD.165@compuserve.com.
To subscribe to the PDC-L@nic.surfnet.nl mailing list, a discussion
list for PDC Prolog users, send mail to LISTSERV@nic.surfnet.nl 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 popsales@cogs.sussex.ac.uk
or popmanager@cogs.sussex.ac.uk. 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
isl@integ.co.uk. 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, pop@cs.umass.edu, 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@esi.nl>.
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
prolia@dcftlx.das.net or prolia@tlxf.geomail.org. 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
plogic@lehi3b15.csee.Lehigh.edu.
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 sales@quintus.com. To be added to
the users group mailing list, email to quintus-users-request@quintus.com.
The email address for technical support is teksup@quintus.com.
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
http://www.sics.se/sicstus.html
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 sicstus-request@sics.se or sicstus@sics.se. Bug reports
and tech support questions should be sent to sicstus-bug@sics.se. To
subscribe to the users group and implementors mailing list, send email
to sicstus-users-request@sics.se.
Mixtus is an automatic partial evaluator for SICStus Prolog. Presently
it is distributed separately. Contact dan@sics.se 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 stenger@sd235-hera.zfe.siemens.de.
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://www.pdc.dk/vip/
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 75300.165@compuserve.com.
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 sales@pdc.dk or
support@pdc.dk. 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 PDC-L@nic.surfnet.nl
mailing list, a discussion list for PDC Prolog and Visual Prolog
users, send mail to LISTSERV@nic.surfnet.nl 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
ftp://unlisys.in-berlin.de/pub/brainaid/
and also from the CMU AI Repository, in
ftp://ftp.cs.cmu.edu/user/ai/lang/prolog/impl/parallel/bap/
A full version for up to 128 nodes is also available for both SUN and
PC. Write to Frank Bergmann <fraber@cs.tu-berlin.de> or
<bap_info@brainaid.in-berlin.de> 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
munnari.oz.au:/pub/bebop.tar.Z [128.250.1.21]. 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,
<ad@cs.mu.oz.au>, 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 ftp.icot.or.jp.
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
klic-requests@icot.or.jp 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 clement.info.umoncton.ca:MultiBinProlog/
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 ftp://ai.uga.edu/pub/misc/. For more information
contact Zdravko Markov, Institute of Informatics, Bulgarian Academy of
Sciences Acad.G.Bonchev Street, Block 29A, 1113 Sofia, Bulgaria,
<markov@iinf.bg>.
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
info.mcs.anl.gov:/pub/pcn/pcn_v2.0.tar.Z
The distribution includes a user's guide containing a tutorial and
reference material. For further information on PCN, please send email to
<pcn@mcs.anl.gov> or contact Ian Foster <foster@mcs.anl.gov>
708-252-4619 or Steve Tuecke <tuecke@mcs.anl.gov> 708-252-8711.
ROLOG:
ROLOG is a parallel PROLOG compiler with a reduce-OR process model.
It is available by anonymous ftp from ftp://cs.uiuc.edu/pub/ROLOG/.
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 plogic@lehi3b15.csee.Lehigh.edu. 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 parlog@doc.ic.ac.uk. 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 cial@cs.cuhk.hk 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
ftp.icot.or.jp. For further information, send email to ifs@icot.or.jp,
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
ftp.inria.fr:/INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/clp_fd/
For more information, write to Daniel Diaz <Daniel.Diaz@inria.fr>,
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
joxan@watson.ibm.com or joxan@yktvmh.bitnet. Current version 1.2.
For more information, write to Joxan or Roland Yap
<roland@bruce.cs.monash.edu.au>.
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
ftp://ps-ftp.dfki.uni-sb.de/pub/
or through the WWW from
http://ps-www.dfki.uni-sb.de/
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
oz@dfki.uni-sb.de. To join the Oz users mailing list, contact
oz-users-request@dfki.uni-sb.de.
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 <cosytec@cosytec.fr>. The Tech Support
email address is help@cosytec.fr. 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@moncsbruce.oz.au.
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: info@als.com. Send a message to info@als.com
with subject line "HELP" to get a general information file in reply.
The URL for the WWW site is
http://www.als.com/
and the anonymous FTP site is ftp.als.com.
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
info@ilog.com. 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 info@ilog.fr, or URL
http://www.ilog.fr/ilog/home.html
See also http://www.ilog.fr 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
ftp://ftp.germany.eu.net/pub/programming/languages/LogicFunctional/
(aka simpson.germany.eu.net) as the files alf_*.zoo
(Documentation, C sources for the emulator, the preprocessor and the
compiler). For further information, contact Rudolf Opalla
<opalla@julien.informatik.uni-dortmund.de>.
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 ftp.cs.wisc.edu:/coral/. 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, <raghu@ricotta.cs.wisc.edu>.
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
ftp://ftp.cis.upenn.edu/pub/Lolli/
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
ftp://ftp.cis.upenn.edu/pub/Lolli/binaries/
At present Sparc and NeXT binaries are available. If you compile
lolli on a new architecture, please contact Josh Hodas at
<hodas@saul.cis.upenn.edu> 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: ftp://turiel.cs.mu.oz.au/pub/mercury
http://www.cs.mu.oz.au/~fjh/mercury
USA: ftp://ftp.cs.sunysb.edu/pub/XSB/mercury
Europe: ftp://ftp.csd.uu.se/pub/Mercury
The Mercury WWW page is http://www.cs.mu.oz.au/~zs/mercury.html
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 prolog@sunbim.be.
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
ftp://coli.uni-sb.de/pub/profit/
and is implemented in Sicstus Prolog (2.1 #9). For more information,
write to Gregor Erbach, Univ. Saarlandes, Saarbruecken, Germany
<erbach@coli.uni-sb.de> <http://coli.uni-sb.de/~erbach>.
----------------------------------------------------------------
;;; *EOF*
|
Howdy very cool website!! Man .. Excellent .. Amazing .. I'll bookmark your site and take the feeds additionally? I'm satisfied to seek out so many useful information here within the post, we need work out extra techniques in this regard, thank you for sharing. . . . . .
https://cutt.ly/2wzXdJpw
Best Regards
rroyucrt48849.wixsite.com/advertisingmoney