Posted-By: auto-faq script Archive-name: prolog/faq Original-by: jamie@cs.sfu.ca (Jamie Andrews) Version: 1.16 Last-modified: 9/30/94 by jamie@cs.sfu.ca (Jamie Andrews) This article contains the answers to some Frequently Asked Questions (FAQ) often seen in 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. This article includes answers to the following questions. 0. General information 1. What is the Association for Logic Programming? 2. Where can I get a public-domain, free Prolog for (the IBM PC, the Mac, Unix)? 3. What commercial systems are available? What about systems available for a price from research institutions? 4. How do I get in touch with my Prolog's users' group, sales representative, or technical support line? 5. I think language X is better than Prolog. What do you think? 6. My Prolog prof assigned me this problem. Can you help me with it? 7. Can you suggest some books on Prolog? 8. Are there any FTP archive sites for comp.lang.prolog? 9. How can I get a copy of the draft ISO Prolog standard? Where can I go for more information about it? 10. How does the WAM (Warren Abstract Machine) work? How do I write a WAM-based compiler or a WAM emulator? 11. Is there a WWW (World Wide Web) page on logic programming? Please forward suggestions for further questions and answers to the current FAQ maintainer, jamie@cs.sfu.ca (Jamie Andrews). Changes in this version: * Added information on PIE2 (DOS). * Added information on wamcc and clp(FD) (Unix). * Added information on KLIC (Unix). * Updated information on SWI-Prolog (Windows). * Updated information on BinProlog (Unix, Dos). * Updated FTP archive information. * Corrected information on Prolog standard summary. * Added question 11. * * * 0. General information The newsgroup "comp.lang.prolog" discusses the language Prolog and other "logic programming" languages. Logic programming languages, in general, are programming languages which incorporate some of the language of mathematical logic; unification and backtracking search are common operational features. For more background information about Prolog, see the list of books in Question 7 of this list. * * * 1. What is the Association for Logic Programming? 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: Cheryl Anderson, ALP Administrative Secretary, Dept. of Computing, Imperial College, 180 Queen's Gate, London, SW7 2BZ, UK Email: csa@doc.ic.ac.uk Fax: +44 71 589 1552 Phone: +44 71 589 5111 x5011 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 posted periodically to comp.lang.prolog (see question 3). To send in Newsletter contributions, write to: Andrew Davison, Dept. of Computer Science, University of Melbourne, Parkville, Melbourne, Victoria 3052, AUSTRALIA Email: ad@cs.mu.oz.au Fax: +61 3 348 1184 Phone: +61 3 344 7207 / 5230 Telex: AA 35185 * * * 2. Where can I get a public-domain, free Prolog for (the IBM PC, the Mac, Unix)? The following are anonymous-FTP sites for free Prologs which are either in the public domain or are "copy-lefted" (permitted to be copied with some restrictions on commercial use). [Please see Mark Kantrowitz's monthly "Prolog Resource Guide" posting (see question 3) for information about non-free implementations.] (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.) For the IBM PC: - BinProlog 3.00, anonymous FTP from clement.info.umoncton.ca (139.103.16.2), directory BinProlog3.0. Compiler for 386/486 machines (DOS + WIndows 3.1), R6000. E-mail: tarau@info.umoncton.ca (Paul Tarau). - Anonymous FTP from aisun1.ai.uga.edu, directory ai.prolog; download "Contents" first. ADA Prolog and ESL Prolog. E-mail: mcovingt@uga.cc.uga.edu (Michael Covington). - SWI Prolog, anonymous FTP from swi.psy.uva.nl (145.18.114.17), directory pub/SWI-Prolog; or from ftp.th-darmstadt.de (130.83.55.75), directory pub/programming/languages/prolog. Windows application available. Portable, copy-lefted. - PIE2, available on CompuServe in the AIEXPERT forum, interpreter and examples in PIE2.ZIP, documentation in PIEDOC.ZIP. E-mail: ruggles@shell.com (Brent Ruggles). For the Apple Macintosh: - Anonymous FTP from aisun1.ai.uga.edu, directory ai.prolog; download "Contents" first. Demo version of LPA MacProlog. E-mail: mcovingt@uga.cc.uga.edu (Michael Covington). - Open Prolog, anonymous FTP from its home site: grattan.cs.tcd.ie (134.226.32.15), directory pub/languages/open-prolog. Also available from sumex-aim.stanford.edu, directory info-mac/Development. E-mail: brady@cs.tcd.ie (Michael Brady). - UPMAIL Tricia Prolog, anonymous FTP from ftp.csd.uu.se (130.238.12.1), directory pub/Tricia; get README first. Email: tricia-request@csd.uu.se. - TPM (the Transparent Prolog Machine), anonymous FTP from hcrl.open.ac.uk, directory /pub/software. Demo LPA MacProlog with the TPM debugger built on top. For Unix systems: - BinProlog 3.00, anonymous FTP from clement.info.umoncton.ca (139.103.16.2), directory BinProlog3.0. Compiler for SPARC (SunOS 4.x + Solaris), DEC Alpha, MIPS, NeXT, Sun3. E-mail: tarau@info.umoncton.ca (Paul Tarau). - SWI Prolog, anonymous FTP from swi.psy.uva.nl (145.18.114.17), directory pub/SWI-Prolog; or from ftp.th-darmstadt.de (130.83.55.75), directory pub/programming/languages/prolog. Portable, copy-lefted. - Modular SB-Prolog (= SB-Prolog version 3.1 plus modules), anonymous FTP from ftp.dcs.ed.ac.uk (129.215.160.5), file pub/dts/mod-prolog.tar.Z . Interpreter for SPARC. E-mail: mprolog@dcs.ed.ac.uk (Brian Paxton). - ALF (Algebraic Logic Functional language), WAM-based language with narrowing/rewriting, anonymous FTP from ftp.germany.eu.net, directory "pub/programming/languages/LogicFunctional". E-mail: opalla@julien.informatik.uni-dortmund.de (Rudolf Opalla). - CLP(R), available by e-mail request from Joxan Jaffar, "joxan@watson.ibm.com". Constraint logic programming language, for academic and research purposes only. - Aquarius Prolog 1.0, send message with body "get aquarius-info license" to listserv@acal-server.usc.edu. High performance, commercial functionality except debugging and modules. For SPARC, DECstation, MIPS, HP 9000 series, Sun 3. Copy-lefted. - XSB, system with OLDT-resolution and HiLog capability. Compiler for Linux, Sun, Sparc, and NeXT. Anonymous FTP from cs.sunysb.edu (130.245.1.15), directory pub/XSB. E-mail: xsb-contact@cs.sunysb.edu - wamcc, anonymous FTP from ftp.inria.fr, directory "/INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/wamcc". 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). - clp(FD), anonymous FTP from ftp.inria.fr, directory "/INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/clp_fd". Constraint logic programming over finite domains. Requires GNU C v.2.4.5 or higher. Contact: daniel.diaz!inria.fr (Daniel Diaz). - KLIC, anonymous FTP from ftp.icot.or.jp, file name "/ifs/symbolic-proc/unix/klic/klic-1.410.tgz". ICOT Free Software. Concurrent logic programming. Tested on Sparcs, DEC 7000, Gateway P5-60. Contact: ifs@icot.or.jp * * * 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 posts it ON THE 14TH OF EVERY MONTH on comp.lang.prolog. It is also available by anonymous FTP from "ftp.cs.cmu.edu" [128.2.206.173] in the directory "/afs/cs.cmu.edu/user/mkant/Public/AI/", as the file "prolog-resource-guide.text". Readers should also note that the newly formed Prolog Vendors' Group is contactable electronically via the Secretary, Al Roth. His email is "alroth@cix.compulink.co.uk". * * * 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. ALS (Applied Logic Systems): Information: info@als.com Sales: sales@als.com Tech support: support@als.com Amzi! inc. (Cogent Prolog): All: amzi@world.std.com COSYTEC (CHIP V4): Information: cosytec@cosytec.fr Support: help@cosytec.fr ECLiPSe and Sepia: User's group: eclipse_users@ecrc.de Information: eclipse_request@ecrc.de Tech support: eclipse_bugs@ecrc.de Expert Systems Ltd. (Prolog-2): Sales: sales@expert.demon.co.uk Support: support@expert.demon.co.uk Users' group: prolog2-request@hplb.hpl.hp.com LPA: Sales: lpa@cix.compulink.co.uk Tech support: lpa@cix.compulink.co.uk PDC Prolog: Information: pdc-request@pdc.dk Sales: sales@pdc.dk Tech support: support@pdc.dk ProLog by BIM: Contact: prolog@sunbim.be (Kathleen Pierco) Quintus: Users' group: quintus-users-request@quintus.com Sales: sales@quintus.com Tech support: teksup@quintus.com SICStus: Users' group: sicstus-users-request@sics.se Sales: sicstus-request@sics.se Tech support: sicstus-bug@sics.se Turbo Prolog: Turbo Prolog is the older name for PDC Prolog (see above). * * * 5. I think language X is better than Prolog. What do you think? 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. * * * 6. My Prolog prof assigned me this problem. Can you help me with it? 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 comp.lang.prolog readers who would be glad to help people making a legitimate attempt to learn Prolog. * * * 7. Can you suggest some books on 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 and Christopher S. Mellish. Springer-Verlag, 1987. (Introductory.) _The Art of Prolog: Advanced Programming Techniques_. Leon Sterling and Ehud Shapiro. MIT Press, 1986. (Advanced.) _The Craft of Prolog_. Richard A. O'Keefe. MIT Press, 1990. (Advanced.) _Foundations of Logic Programming_. John Lloyd. Springer-Verlag, 1988 (2nd ed). (Logic programming theory.) * * * 8. Are there any FTP archive sites for comp.lang.prolog? Yes. As of the latest check, the following archive sites contain selected recent articles from comp.lang.prolog in the indicated directories. "cs.dal.ca": /pub/comp.archives/comp.lang.prolog "info2.rus.uni-stuttgart.de": /pub/comm/news/archive/comp.archives/auto/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. * * * 9. 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 "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.ecrc.de", file /pub/eclipse/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 * * * 10. 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 "gatekeeper.dec.com", in directory "pub/plan/prolog/ucb". * * * 11. Is there a WWW (World Wide Web) page on logic programming? Yes, there is one by Jonathan Bowen; the URL is "http://www.comlab.ox.ac.uk/archive/logic-prog.html". He invites us to mail him at "bowen@comlab.ox.ac.uk" with any relevant information for inclusion. * * * Acknowledgements For help in putting together this FAQ, thanks to Andrew Davison, Mike Brady, Michael Covington, Stephen Bevan, John Dowding, Thilo Kielmann, Paul Singleton, Dave Moffatt, Dani de Ridder, Per Bilse, Chris Moss, Kathleen Pierco, Paul Tarau, Jonathan Kamens, Jan Wielemaker, Dag Wahlberg, Micha Meier, Don Sannella, Clive Spenser, Yuan Liu, Jonas Barklund, and Ian Dickinson. Special thanks to John Dowding for suggesting a good format for the list, and to Chris Moss, Dag Wahlberg, and Mark Kantrowitz for their work on the Prolog Resource Guide. --Jamie Andrews. jamie@cs.sfu.ca