General Information: This article contains the answers to some Frequently Asked Questions (FAQ) often seen in news://comp.lang.prolog/. It is posted (twice a month, currently on the 1st and 16th) to help reduce volume in this newsgroup and to provide hard-to-find information of general interest.
The World Wide Web URL for this FAQ is: http://www.selwerd.nl/~dirk-jan/prolog/faq/
Questions about the FAQ and updates ought to be submitted to <dirk-jan@selwerd.nl>.
To keep up with the current state of logic programming technology, readers can join the Association for Logic Programming (ALP) and receive their Newsletter. For details on how to join, contact:
The ALP Administrative Secretary,
Dept. of Computing,
Imperial College,
180 Queen's Gate,
London, SW7 2BZ, UK
Email: <alp@doc.ic.ac.uk>
Fax: +44 171 589 1552
Phone: +44 171 594 8227
The Prolog Resource Guide (v0.6) was printed in issue 5/1 of the Newsletter (Feb. 1992). This lists information concerning Prolog Archives, Books, Suppliers, etc. It is now maintained by Mark Kantrowitz (<Mark.Kantrowitz@glinda.oz.cs.cmu.edu>), and used to be posted periodically (?) to news://comp.lang.prolog (see question 3 and 8).
To send in Newsletter contributions, write to:
Patricia Hill,
Dept. of Computing,
Imperial College,
180 Queen's Gate,
London, SW7 2BZ, UK
Email: <alp@doc.ic.ac.uk>
Fax: +44 171 589 1552
Phone: +44 171 594 8227
For more information, check http://www.cwi.nl/projects/alp/
The following are anonymous-FTP sites for free Prologs (or related languages) which are either in the public domain or are "copy-lefted" (permitted to be copied with some restrictions on commercial use).
(Please note that for extensive development work, users will probably want a robust interpreter or compiler with good debugging facilities and a standard syntax, among other things. While public-domain systems are a valuable service to the community, they do not necessarily have all these things, and users should weigh carefully what they want to do against the capabilities and costs of the available systems.)
Platforms: UNIX,
Available: Anonymous FTP from ftp.germany.eu.net, directory pub/programming/languages/LogicFunctional.
E-mail : <opalla@julien.informatik.uni-dortmund.de> (Rudolf Opalla).
Info : WAM-based language with narrowing/rewriting
Platforms: Window, Linux and Solaris
Available: http://www.amzi.com/download/
E-mail : <info@amzi.com>
Info : Free Personal & Evaluation License. Registration is compulsory.
Platforms: UNIX
Available: http://www.info.ucl.ac.be/people/PVR/aquarius.html
Info : High performance, commercial functionality except debugging and modules.
Platforms: Solaris 1.x and HP-UX 9.x.
Available: Anonymous ftp from ftp.csk.co.jp, directory /pub/CSK/argo_prolog.
Contact : <doi@csk.co.jp> (Takao Doi).
Platforms: Win32, Solaris, SunOS, UNIX, FreeBSD and Linux
Available: http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog.html
E-mail : <zhou@mse.kyutech.ac.jp> (Neng-Fa Zhou)
Info : Freely available for non-commercial use. For other use a license is needed.
Platforms: Windows 95/98/NT, Linux and all major Unix platforms.
Available: http://www.binnetcorp.com/BinProlog/
E-mail : <binnetcorp@binnetcorp.com> (Paul Tarau)
Info : Download free evaluation copies and see online demos. Inexpensive Educational licensing available.Has built-in networking, multi-threading, mobile code and distributed blackboards. Supports BinNet Internet Programming Tool kit (see http://www.binnetcorp.com/Internet).
Platforms: Transputer systems
Available: http://www.comnets.rwth-aachen.de/~ost/private.html
Info : BAP is a parallel prolog system for Transputer systems. Available under a Berkely style of copyright.
Platforms: Linux, Win32 (95/98/NT), Solaris, SunOS, UNIX in general.
Available: http://www.clip.dia.fi.upm.es/Software/Ciao
E-mail : Developers: <ciao@clip.dia.fi.upm.es> (Users: <ciao-users@clip.dia.fi.upm.es>)
Info : Next generation LP/CLP system. Commercial functionality, but freely available w/source. ISO-Prolog + modules, networking, multi-threading, clp(r), clp(q), interfaces (Java, C, tcltk, WWW, databases/ODBC, ...), functions, higher-order, records, persistence, objects, assertions (types, modes, ...), source debugger, auto-documenter, static debugger, and more.
Platforms: UNIX
Available: anonymous FTP from ftp://ftp.inria.fr/, directory /INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/clp_fd.
Contact : <daniel.diaz@inria.fr> (Daniel Diaz).
Info : Constraint logic programming over finite domains. Requires GNU C v.2.4.5 or higher.
Platforms: UNIX
Available: http://pauillac.inria.fr/~georget/clp_fds/clp_fds.html
Contact : <Yan.Georget@inria.fr> (Yan Georget).
Info : Requires GNU C (gcc) version 2.4.5. or higher.
Platforms: UNIX
Available: e-mail request from Joxan Jaffar, <joxan@watson.ibm.com>.
Info : Constraint logic programming language, for academic and research purposes only.
Platforms: Solaris, SunOS, Linux Windows NT
Available: http://www.icparc.ic.ac.uk/eclipse/
Info : License required, but free for research and educational purposes.
Platforms: SunOS/sparc, Solaris/sparc and GNU/Linux/ix86.
Available: Anonymous ftp from ftp://ftp.inria.fr/, directory /INRIA/Projects/constraintes/gnu-prolog/.
E-mail : <daniel.diaz@inria.fr> (Daniel Diaz)
Platforms: Java-based
Available: http://www.binnetcorp.com/Jinni .
Info : Multi-threaded, Java based Prolog interpreter with built-in networking, distributed blackboards and mobile code (inexpensive shareware licensing available).
Platforms: UNIX
Available: Anonymous FTP from ftp://ftp.icot.or.jp/, file name /ifs/symbolic-proc/unix/klic/klic.tgz.
Info : ICOT Free Software. Concurrent logic programming. Tested on Sparcs, DEC 7000, Gateway P5-60.
Contact : <ifs@icot.or.jp>
Platforms: Prolog pre-processor for any Operating System
Available: http://www.ci.uc.pt/logtalk/logtalk.html
E-mail : <pmoura@noe.ubi.pt> (Paulo Moura)
Info : Open source object-oriented extension to Prolog available under Perl's Artisitc license. Compatible with most Prolog compilers.
Platforms: Apple Macintosh
Available: Anonymous FTP from ftp://aisun1.ai.uga.edu/, directory ai.prolog download Contents first.
Platforms: Runs on Solaris, SunOS, IRIX 5.x, HPUX, ULTRIX, AIX, Linux, Windows 95 and 2000.
Available: Anonymous ftp from ftp://ftp.mercury.cs.mu.oz.au/, directory /pub/mercury.
Platforms: SPARC, DECstation, MIPS, HP 9000 series, Sun 3.
Available: Anonymous FTP from ftp://ftp.dcs.ed.ac.uk/ (129.215.160.5)
Info : Copy-lefted.
Platforms: Apple MessagePad Newton
Available: Currently only beta version available; download and more information on http://www.cfht.hawaii.edu/~jlv.
E-mail : <jlv@cfht.hawaii.edu>
Platforms: Apple Macintosh
Available: Anonymous FTP from its home site: ftp://ftp.cs.tcd.ie/, directory pub/languages/open-prolog. Also available from ftp://sumex-aim.stanford.edu/, directory info-mac/Development.
E-mail : <brady@cs.tcd.ie>. (Michael Brady).
Platforms: Various Unixes, including Sun, Dec Alpha, HP and many others. Also a Win32 version is available. Sources available for other combinations.
Available: At the Free Poplog Web/FTP site, including full sources http://www.cs.bham.ac.uk/research/poplog/freepoplog.html Mirror sites at http://www.poplog.org/resources/dist/new/
E-mail : queries may be posted to news://comp.lang.pop/, or to <pop-forum@cs.bham.ac.uk> or <A.Sloman@cs.bham.ac.uk> (Last resort!)
Info : Robust incremental compiler, part of the multi-language Poplog system (including Common Lisp, Pop-11 and Standard ML). Unix, Linux & VMS versions include full support for X window facilities/Motif. More information at http://www.cs.bham.ac.uk/research/poplog/poplog.info.html Licence modelled on XFree86. Can be freely distributed, though copyright is owned by Sussex University and ISL.
Platforms: Unknown
Available: On CompuServe in the AIEXPERT forum, interpreter and examples in PIE2.ZIP, documentation in PIEDOC.ZIP.
E-mail : <ruggles@shell.com> (Brent Ruggles).
Platforms: Windows 95/NT, plans for UNIX and Macintosh
Available: http://www.dobrev.com/
E-mail : <dimiter@dobrev.com>
Platforms: Well maintained for UNIX, Windows 95/98/NT/2000, 32 and 64-bits machines. ANSI-C.
Available: http://www.swi.psy.uva.nl/projects/SWI-Prolog/ Anonymous FTP from ftp://swi.psy.uva.nl/ (145.18.114.17), directory pub/SWI-Prolog; or from ftp://ftp.th-darmstadt.de/ (130.83.55.75), directory pub/programming/languages/prolog.
Info : Distributed as source with binaries for some platforms. Copying: GPL-2. Licenses for use with proprietary software are available.
Platforms: Window 95/98/NT 4.0, plans for Window 2000, Linux and Sun Solaris
Available: http://www.trinc-prolog.com/
E-mail : <info@trinc-prolog.com>
Platforms: Apple Macintosh
Available: Anonymous FTP from ftp://ftp.csd.uu.se/ (130.238.12.1), directory pub/Tricia; get README first.
Info : UPMAIL is still available, but unsupported.
Platforms: Win16/32, OS/2, Linux and SCO Unix
Available: http://www.visual-prolog.com and http://www.pdc.dk/vip
Info : Includes all the facilities necessary to write mission critical commercial-grade applications. Fully visual develop- ment environment. Open architecture. Built-in database system and ODBC support. Visual Prolog Personal Edition is available on a freeware license.
Platforms: UNIX
Available: Anonymous FTP from ftp://ftp.inria.fr/, directory /INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/wamcc.
Info : Compiler which translates Prolog to C via WAM. Debuggers. Requires GNU C v.2.4.5 or higher.
Contact : <daniel.diaz@inria.fr> (Daniel Diaz).
Platforms: Many, including SunOS, Linux and Windows
Available: Anonymous FTP from ftp://ftp.cs.sunysb.edu/ (130.245.1.40) directory pub/XSB
E-mail : <xsb-contact@cs.sunysb.edu>
Info : system with SLG-resolution, HiLog syntax, and unification factoring.
Platforms: UNIX-based platforms and Windows
Available: http://www.ncc.up.pt/~vsc/Yap/
E-mail : <vsc@ncc.up.pt> (Vitor Santos Costa)
Info : Yap is entirely written in C and Prolog and should be portable to most 32-bit and 64-bit Unix based platforms. A Windows port is also available. Yap4.2 is distributed under Perl's artistic license and can be freely distributed.
3. What commercial systems are available? What about systems available for a price from research institutions?
Many commercial systems are listed in the periodically posted Prolog Resource Guide. The Resource Guide also lists many systems which are not exactly "commercial", but available for a price from research instutitions. The list of such systems was originally compiled by Chris Moss, of Imperial College. The rest of the Resource Guide was originally compiled by Dag Wahlberg, of Uppsala University.
The Resource Guide is now maintained by the kind efforts of Mark Kantrowitz, <Mark.Kantrowitz@glinda.oz.cs.cmu.edu>, who posted it on the 14th of every month on news://comp.lang.prolog/. It is also available by anonymous FTP from ftp://ftp.cs.cmu.edu [128.2.206.173] in the directory "/afs/cs.cmu.edu/project/ai-repository-3/ai/lang/prolog/faq", as the files "prg_1.faq" and "prg_2.faq".
Readers should also note that the Prolog Management Group (formerly the Prolog Vendors' Group) is contactable electronically via its Secretary, Steve Cartmell. His address is <steve@pap.com>.
4. How do I get in touch with my Prolog's users' group, sales representative, or technical support line?
Here are some e-mail addresses of these contacts, listed alphabetically by company or major product name. Please note that sometimes phoning or writing to the company will get better response than e-mail.
Information: <info@als.com>
Sales: <sales@als.com>
Tech support:<support@als.com>
Information: <info@amzi.com>
Sales: <sales@amzi.com>
Support: <support@amzi.com>
Web site: http://www.binnetcorp.com
Information: <info@binnetcorp.com>
Sales: <sales@binnetcorp.com>
Tech support:<support@binnetcorp.com>
Web site: http://www.clip.dia.fi.upm.es/Software
Users' group: <ciao-users@clip.dia.fi.upm.es>
Information: <ciao@clip.dia.fi.upm.es>
Tech support: <ciao-bugs@clip.dia.fi.upm.es>
Web site: http://www.cosytec.com
Information: <info@cosytec.com> (or .fr)
Tech Support:<support@cosytec.com> (or .fr)
Web site: http://www.icparc.ic.ac.uk/eclipse
Users' group: <eclipse-users@icparc.ic.ac.uk>
Information: <eclipse-request@icparc.ic.ac.uk>
Tech support: <eclipse-bugs@icparc.ic.ac.uk>
Sales: <sales@expert.demon.co.uk>
Support: <support@expert.demon.co.uk>
Users' group: <prolog2-request@hplb.hpl.hp.com>
Web site: http://pauillac.inria.fr/~diaz/gnu-prolog
Users' group: <users-prolog-request@gnu.org>
Bug reports: <bug-prolog@gnu.org>
Web site: http://www.lpa.co.uk/
Sales: <sales@lpa.co.uk>
Tech support:<support@lpa.co.uk>
PDC Prolog is the succesor to Turbo Prolog and the predecessor to Visual Prolog.
Contact: <prolog@bim.be (Kathleen Pierco)>
Users' group: <prolog-users-request@bim.be>
Users' group: <quintus-users-request@sics.se>
Sales: <qpsales@sics.se>
Tech support:<qpsupport@sics.se>
Users' group: <sicstus-users-request@sics.se>
Sales: <sicstus-request@sics.se>
Tech support: <sicstus-support@sics.se>
Information: <info@trinc-prolog.com>
Sales: <sales@trinc-prolog.com>
Support: <support@trinc-prolog.com>
Turbo Prolog is the predecessor of PDC Prolog (see above).
Web site: http://www.visual-prolog.com/
Information: <sales@pdc.dk> (or <sales@visual-prolog.com>)
Sales: <sales@pdc.dk> (or <sales@visual-prolog.com>)
Tech support:<support@pdc.dk> (or <support@visual-prolog.com>)
These debates rarely result in any productive discussion. To some extent, one's favourite language is based on irrational ideology.
However, many people now agree that different languages are good for different things. Prolog seems to be good for problems in which logic is intimately involved, or whose solutions have a succinct logical characterization. Like other interactive, symbolic languages, Prolog is also good for rapid prototyping.
Also, please note that there are many different "Prologs" and other logic programming languages available, all with different capabilities.
There are some languages in development which do not have Prolog syntax, but do subsume and generalize Prolog's logic programming abilities.
Information: http://www.mozart-oz.org/
Users' group: <users-request@mozart-oz.org>
Tech support: users at mozart-oz.org
Some other languages bring new developments while also supporting Prolog syntax and functionality as an option:
Web site: http://www.clip.dia.fi.upm.es/Software
Users' group: ciao-users at clip.dia.fi.upm.es
Information: ciao at clip.dia.fi.upm.es
Tech support: ciao-bugs at clip.dia.fi.upm.es
If your instructor assigned it to you, he or she probably wanted you to do it yourself. If it's an introductory Prolog course, your question might be elementary to most readers, so it might be a waste of network resources to ask it. Please ask your instructor, a friend, a teaching assistant, or a local newsgroup for help first.
That being said, there are news://comp.lang.prolog/ readers who would be glad to help people making a legitimate attempt to learn Prolog.
The Prolog Resource Guide (see above, question 3) contains a listing of Prolog books. It is maintained by Mark Kantrowitz (<Mark.Kantrowitz@glinda.oz.cs.cmu.edu>), and posted periodically on comp.lang.prolog.
Here are some of the most popular books on Prolog.
Programming in Prolog
William F. Clocksin Christopher S. Mellish 4 Copyright © 1994 by Springer-VerlagProlog Programming for Artificial Intelligence
Ivan Bratko Copyright © 2001 by Addison-Wesley 3The Art of Prolog: Advanced Programming Techniques
Leon Sterling and Ehud ShapiroCopyright © 1994 by MIT Press2The Craft of Prolog
Richard A. O'Keefe Copyright © 1990 by MIT PressFoundations of Logic Programming
John Lloyd Springer-Verlag Copyright © 1988 by 2Logic, Programming and Prolog
Ulf Nilsson and Jan Maluszynski Originally published by John Wiley & Sons Ltd Copyright © 1995 by 2but now available without charge from http://www.ida.liu.se/~ulfni/lppNo. That is, the following archives used to contain the articles from news://comp.lang.prolog/, but at latest check (1-2-1999) I (Dirk-Jan) have failed to log in.
ftp://info2.rus.uni-stuttgart.de: /pub/comm/news/archive/comp.archives/auto/comp.lang.prolog
ftp://cs.dal.ca: /pub/comp.archives/comp.lang.prolog
Some other sites contain copies of this FAQ list and the Prolog Resource Guide (see question 3). For users with "archie" access, type "archie comp.lang.prolog" for an up-to-date list of sites having either archives or the periodic postings.
Other (web) archives of news://comp.lang.prolog include Google-groups:
10. How can I get a copy of the draft ISO Prolog standard? Where can I go for more information about it?
You can pick up a copy by anonymous FTP from site ftp://ai.uga.edu, directory /pub/prolog.standard. The directory also contains a summary of the standard, by Michael Covington, in the "isoprolog" files. Note that no one at that site can answer any questions about the standard; it is just an FTP site for the standard in the USA.
A copy of Richard O'Keefe's Prolog standard draft from 1984 is available from ftp://ftp.ecrc.de, file /pub/eclipse/pub/std/plstd.doc".
For more information about the ISO Prolog standard, contact:
Roger Scowen
ISO/IEC JTC1 SC22 WG17 (Prolog) convener,
DITC/93, National Physical Laboratory
TEDDINGTON, Middlesex TW11 0LW
UNITED KINGDOM
Tel: +44 81 943 6956
Fax: +44 81 977 7091
E-mail: <rss@seg.npl.co.uk>
11. How does the WAM (Warren Abstract Machine) work? How do I write a WAM-based compiler or a WAM emulator?
Reportedly the best tutorial is Hassan Ait-Kaci's book _Warren's Abstract Machine: A Tutorial Reconstruction_ (MIT Press, 1991). A public-domain WAM emulator, written in C++ by Herve Touati, is available by anonymous FTP at site ftp://gatekeeper.dec.com, in directory "pub/plan/prolog/ucb". The book is now OP but available online at http://www.isg.sfu.ca/~hak/documents/wam.html
Yes, there is one by Jonathan Bowen; the URL is http://archive.comlab.ox.ac.uk/archive/logic-prog.html. He invites us to mail him at <jonathan.bowen@sbu.ac.uk> with any relevant information for inclusion.
Prolog is very suitable for this task. Several commercial and free implementations include special support for it. A page specifically on this topic (including some tutorials) is maintained at http://www.clip.dia.fi.upm.es/lpnet/lpnet.html A public-domain library exists (PiLLoW) for several popular Prolog systems which helps in the task. See: http://www.clip.dia.fi.upm.es/Software/pillow/
Beginner level:
http://www.coli.uni-sb.de/cl/projects/indigen/prolog/ (In German language)
| Next | ||
| Acknowledgements |