[1-0] Introduction

Certain questions and topics come up frequently in the various network
discussion groups devoted to and related to Prolog and logic programming.
This file/article is an attempt to gather these questions and their
answers into a convenient reference for Prolog programmers.  It (or a
reference to it) is posted periodically.  The hope is that this will
cut down on the user time and network bandwidth used to post, read and
respond to the same questions over and over, as well as providing
education by answering questions some readers may not even have
thought to ask.

This guide lists Prolog and logic programming resources: archives,
newsgroups, books, magazines, compilers, interpreters and anything
else you can think of which has to do with the proliferation of Prolog
and logic programming. Also included is a list of suppliers of
products and a list of publishers. Topics can also include
unification, backtracking search, and other aspects of logic
programming. As Prolog has a strong historical tradition in Europe,
we've tried to ensure that the information is relevant to all readers,
including European and North American.

This is not a Prolog tutorial, nor is it an exhaustive list of all Prolog
intricacies.  Prolog is a very powerful and expressive language, but with
that power comes many complexities.  This list attempts to address the
ones that average Prolog programmers are likely to encounter.  If you are
new to Prolog, read one of the introductions listed in the answer to
question [1-3].

Please do not post homework questions to the comp.lang.prolog
newsgroup. You won't learn anything if somebody else does the problem
for you, and won't get any credit for your answer if your instructor
reads the newsgroup. 

Please also avoid starting the debate on which language is better;
Prolog or Lisp, Prolog or C, and so on. Such discussions are rarely
productive, and nobody will change their opinion as a result of the
debate. The usual conclusion of such debates is that the languages are
Turing equivalent, but some languages are better suited for particular
tasks. For Prolog, the consensus is that it is a good choice for
problems involving logic and problems whose solution can be
represented or characterized succinctly in logical form. Some folks
feel Prolog is the best language for natural language processing;
others disagree.

The comp.lang.prolog newsgroup is archived in
on a weekly basis.

This guide is posted regularly to comp.lang.prolog and comp.object.logic. 
It may also be obtained by anonymous ftp from 
   ftp.cs.cmu.edu:/user/ai/pubs/faqs/prolog/  []
using username "anonymous" and password "name@host" (substitute your
email address) or via AFS in the Andrew File System directory
as the files prg_1.faq and prg_2.faq.

You can also obtain a copy of the FAQ by sending a message to
ai+query@cs.cmu.edu with 
   Send PRG
in the message body.

The FAQ postings are also archived in the periodic posting archive on
   rtfm.mit.edu:/pub/usenet/news.answers/prolog/ []
If you do not have anonymous ftp access, you can access the archive by
mail server as well.  Send an E-mail message to
mail-server@rtfm.mit.edu with "help" and "index" in the body on
separate lines for more information.

An automatically generated HTML version of the PRG is accessible by
WWW as part of the AI-related FAQs Mosaic page. The URL for this
resource is
The direct URL for the PRG is

If you need to cite the FAQ for some reason, use the following format:
   Mark Kantrowitz, "Prolog Resource Guide", comp.lang.prolog, <month>, <year>,
   ftp.cs.cmu.edu:/user/ai/pubs/faqs/prolog/prg_?.faq, mkant+prg@cs.cmu.edu.


   We have taken great care in making the information in this document as
   accurate as possible. However we are not responsible for any problems
   which might occur from using information supplied in this guide.
Go Back Up

Go To Previous

Go To Next