Where Intelligent Technology Meets the Real World
Contact PC AI
Prolog Programming Language

Overview: Prolog (PROgramming in LOGic) was created by Colmerauer and his colleagues at the University of Marseilles in the 70s. Clocksin and Mellish at the University of Edinburgh continued the work, and today their version (called "C & M syntax" or "Edinburgh syntax") is accepted as the standard. The difference between Prolog and other languages is that a Prolog program tells the computer what to do (a technique called declarative programming) while programs in other languages tell the computer how to do it (procedural programming). Prolog does this by making deductions and derivations from facts and rules stored in a database. The essence of Prolog programming is writing crisp, compact rules. The deductions and derivations, instigated by user-entered queries, are products of Prolog's built-in inference mechanism called backtracking. Prolog was originally designed for non-numeric information processing, but contemporary Prologs typically feature mathematical extensions. (Reference: LANGUAGES OF AI by Joseph Schmuller, September/October 1991, page 23)


Glossary Link - Prolog Programming Language


To OPS Programming Language
To Scheme Programming Language

Prolog Information on the Internet
CMU Artificial Intelligence Prolog Repository Textbook material, code, benchmarking information, documentation, FAQ, gui, shareware, newsgroup archives, utilities, and other information related to Prolog are available. (A second source) 
CMU Prolog Repository Links to a number of Prolog topics including machine readable parts of various Prolog books, Prolog code for benchmarking and research, Prolog documentation, GUI, Free/Shareware Prolog implementations, object oriented programming, newsgroup archives, utilities, and FAQ. 
Different Prolog Implementations A archive for Prolog implementations. 
(FAQ) For comp.lang.prolog Contains answers to frequently asked questions often seen in comp.lang.prolog. It is posted (twice a month, currently on the 1st and 16th) to help reduce the volume in this newsgroup and to provide hard-to-find information of general interest. Also includes the Prolog Resource Guide and Prolog Implementations. 
Lambda Prolog An extension to Prolog that contains higher-order programming, polymorphic types, modules, abstract datatypes, and direct support for lambda- terms. The availability of such lambda-terms and higher-order unification, provides lambda Prolog with novel approaches to meta-programming tasks. These extensions are all achieved by using the intuitionistic theory of higher-order hereditary Harrop formulas. 
lambda Prolog: eLP and Prolog/Mali The eLP Common Lisp interpreter was written by Conal Elliott and Frank Pfenning (CMU) in Common Lisp and implements the core of lambda Prolog (higher-order hereditary Harrop formulas). The Prolog/Mali compiler is written in Prolog/Mali, and produces C code. The execution scheme uses Mali (an abstract memory for representing terms with efficient space management). The system was written by Pascal Brisset and Olivier Ridoux of IRISA, Rennes, France. It implements the core of lambda Prolog. 
Logic Programming Links to information such as journals, code, bibliographies, and more. Also links to Prolog vendors, public-domain WAM emulator, miscellaneous code including a database of real Prolog applications, and the ISO Prolog Standard. Some links are intermittent. 
Logic Programming at IBM Research A number of people working in the field of Logic Programming at the IBM T. J. Watson Research Center. Areas included are natural language understanding, constraint logic programming, knowledge-based systems and some very good prolog articles. 
LookSmart - Prolog Programming Resources Find links to prolog resources and companies.
Object Layer for Prolog OL(P) Version 1.1 for SICStus Prolog and QUINTUS Prolog for a UNIX system. OL(P) can be used for other Prolog systems and on other platforms, but some changes may be necessary. 
Prolog Programming Language Learn about what the prolog programming language is.
Univ. of Georgia AI Center List of AI research reports, info on ISO Prolog standards, software, and more. 
Yahoo - Prolog Programming Language Contains a number of site references including a Parallel Prolog Dialect and an environment for developing logic grammars for natural language. Also included are Prologs for the Macintosh, a Prolog resource guide, and SICStus Prolog environment, Usenet , and FAQ for Prolog. 

Sponsors of PC AI - Prolog Vendors
Prolog articles, Prolog source code, demos, product information etc.
Providers of intelligent web tools, expert systems development tools, data mining, and prolog-based AI products for Windows and Macintosh. 
Developer of a Prolog compiler - later to be known as Turbo Prolog, PDC Prolog and now Visual Prolog. 
(75300.165@compuserve.com; leo@pdc.dk) 

Other Prolog Vendors
Provides Prolog compilers and development environments, and more. 
ftp.als.com & info@als.com 
BinProlog is a Prolog system with the ability to generate C/C++ code and standalone executables. It provides high-level networking ( remote predicate calls, Linda blackboards, mobile code, multi-threaded execution on Windows NT/ 95/ 98 and Solaris platforms ), secure Internet programming (CGI scripting and multi-user server side databases) integrated with rule based reasoning components.binnetcorp@binnetcorp.com
EZY Prolog interpreter with Turbo Prolog/Visual Prolog compatibility, powerfull GUI designer with automatic code generation from GUI declarations, lots of functional components built-in.
MINERVA is a high end commercial Prolog in 100% Java. Extensible with any Java class. Callable as servlet, applet, application or Java class library.
Prolog programming, AI techniques, Internet programming, COM/Active X components, etc.
Prolog Compiler For Windows with IDE, graphics, CGI, SQL and more.
SICStus Prolog follows the Edinburgh tradition and largely conforms to the ISO Prolog standard. It is built around a high performance Prolog engine with optional native code generation for Sparc, MIPS and 68K processors. 
Development tool that supports the complete ISO Prolog standard, DCG Grammar notation, Object Orientation, GUI and ODBC development. (info@trinc-prolog.com)

Dynamic Search Engine References
Search the web for "prolog" references using:
Google Lycos Yahoo InfoSeek Alta Vista

Article References
Prolog For Pascal Programmers Weiskamp, K. (1987) PC AI, 1(1), 18. 
Expert System With Turbo Prolog Chris Dellacroce, C. (1987) PC AI 1(2), 12.. 
AAIS Prolog (Review) Shammas, N. (1987) PC AI, 1(3), 55. 
Rule-Based Programming With Prolog Merritt, D. (1988) PC AI, 2(1), 64. 
SD-Prolog (Review) Grogan, J. (1988) PC AI, 2(4), 71. 
Turbo Prolog 2.0 (Review) Lane, A., (1988) PC AI, 2(5), 61. 
Arity Prolog 5.0 (Review) Berghel, H. and Rankin, R. (1988) PC AI 2(6), 61. 
Prolog Programming Pitfalls I Roach, D., Berghel, H., and Rankin, R. (1989) PC AI, 3(2), 46. 
Prolog Programming Pitfalls II Roach, D., Berghel, H., and Rankin, R. (1989) PC AI, 3(3), 50. 
Prolog Programming Pitfalls III Roach, D., Berghel, H., and Rankin, R. (1989) PC AI, 3(4), 24. 
Taxes In Prolog Merritt, D. (1990) PC AI, 4(1), 45. 
PDC Prolog - Turbo Prolog is Back (1991) PC AI, 5(2), 23. 
Prolog On Prolog Berghel, H. and Roach, D. (1991) PC AI, 5(3), 38. 
IF/PROLOG (Reviewed) Ryu, Y. (1991) PC AI, 5(6), 44. 
Overview: Languages Schmuller, J. (1992) PC AI, 6(5), 7-9. 
Prolog Under the Hood: An Honest Look Merritt, D. (1992) PC AI, 6(5), 44-47. 
Case For Prolog Spenser C., and Roth, A. (1993) PC AI, 7(3), 42. 
Exploring Prolog: Adventures, Objects, Animals, and Taxes Merritt, D. (1993) PC AI, 7(5), 18-23. 
Active Prolog Tutor Berghel, H. (1994) PC AI 8(2), 42. 
Cogent Prolog And C/C++ Merritt, D. (1994) PC AI, 8(5), 26. 
Vendor's Forum: Cogent Prolog and C++: Designing an API Merritt, D. (1994) PC AI, 8(5), 26. 
Prolog in the Real World: Logic Programming at Work Roth, A. and Spenser, C. (1994) PC AI, 8(5), 42-44. 
AMZI! Prolog + Logic Server 3.3 (Review) Sehmi, A. (1995) PC AI, 9(5), 27. 
Cutting the Guillotine Down to Size McHale, M. and Shah, R. (1999) PC AI, 13(1), 24
Prolog Assists in Brain Lesions Diagnosis: An MR and CT Features-Based Expert System Rasuli, P.; Rasouli, F.; Oskouie, A.; Rasouli, T.; Morrish, W. (1999) PC AI, 13(6), 16
Rule-Based Management of Options Trading Bowen, K. (2000) PC AI, 14(1), 16
Prolog Predicts Chemical Properties: No Laboratory Required Bowen, K. (2000) PC AI, 14(4), 21

Book References
Reference material for Prolog would include Burnham and Hall's (1986) book -- a short, highly readable introduction. Marcus's (1986) book is also highly readable, but a bit more technical. Sterling and Shapiro (1986) present a much more technical treatment, along with advanced techniques and applications. Coelho and Cotta (1988) show a number of Prolog programs which can be adapted to a variety of situations. Bratko (1990) presents Prolog in the context of AI applications. Analogous to the previously mentioned LISP-based AI texts, Rowe (1989) introduces AI via Prolog. Gazdar and Mellish (1989b) and Pereira and Sheiber (1987) show Prolog's applicability to natural language processing. (Reference: LANGUAGES OF AI by Joseph Schmuller, September/October 1991, page 23)
Prolog: Sophisticated Applications in Artificial Intelligence Ramachandran, B. TAB, pps. 198. 
Search: Enter keywords... 

Amazon.com                       logo
Advanced Turbo Prolog Schildt, H. New York, NY: McGraw-Hill Inc, pps. 298. 
Handbook Of Artificial Intelligence
Vol 1, 2, 3
Avron Barr & Edward Feigenbaum, 1981, Willam Kaufmann, Inc 
Implementations of Prolog Campbell, J. (1984) West Sussex, England: Ellis Horwood Limited pps 391 
Programming in Prolog (2nd) Clocksin, W. and Mellish, C. (1984) Berlin: Springer-Verlag 
Prolog Programming and Applications Burnham, W., and Hall, A. (1986) New York: Halsted Press 
Prolog Programming Marcus, D. (1986) Reading, MA: Addison-Wesley 
The Art of Prolog Sterling, L. and Shapiro, E. (1986) Cambridge, MA: MIT Press, pps 437 
Turbo Prolog - The Natural Language of Artificial Intelligence Borland, (1986) Scotts Valley, CA: Borland, pps 221 
Formal Methods in Artificial Intelligence Delahaye, J.P. (1987) New York, NY: John Wiley & Sons, pps. 205. ISBN: 0-470-20826-0. 
Prolog and Natural Language Analysis Pereira, F. and Sheiber, S. (1987) Palo Alto, CA: Center for the Study of Language and Information 
Prolog by Example Coelho, H. and Cotta, J. (1988) Berlin: Springer-Verlag 
Artificial Intelligence Programming
with Turbo Prolog
Hengl, T. and Weiskamp, K. (1988) New York: Wiley, pps 262. 
Natural Language Processing in Prolog Gazdar, G. and Mellish, C. (1989b) Wokingham, England: Addison-Wesley 
Artificial Intelligence Through Prolog Rowe, N. (1989) Englewood Cliffs, NJ: Prentice-Hall 
Prolog Programming for Artificial Intelligence Bratko, I. (1990) Reading, MA: Addison-Wesley 
Prolog for Natural Language Processing Gal, A., Lapalme, G., Somers, H. (1991) West Sussex, England: Wiley, 
pps 306 
The Craft of Prolog O'Keefe, R. (1991) Cambridge, MA: MIT Press 
Prolog For Industry - Proceedings of the LPA Prolog Day Spenser, C. (1995) London, UK: Royal Society of Arts, pps 126 
PROLOG Programming for Artificial Intelligence Bratko, I. (2000) Addison Wesley Pub Co, pps. 678. ISBN 0201403757

Other AI Info Categories

AI Languages ------------------------------------------------------> C++
Blackboard Technology Client/Server Dylan
Creative Thinking Data Warehouse/Mining Forth
Distributed Computing Expert Systems Lisp
Fuzzy Logic General AI Sites Logo
Genetic Algorithms Help Desk OPS
Intelligent Agents Intelligent Applications Scheme
Internet Logic Programming Smalltalk
Machine Learning Modeling and Simulation  
Multimedia Natural Language Processing  
Neural Networks Object Oriented Development  
Optical Character Recognition Robotics  
Speech Recognition Virtual Reality  

PC AI Magazine

PCAI.TH @ gmail.com
Copyright (C) 2001-2002, All rights reserved
Designed by Terry H. and the web team at Knowledge Technology: Comments? webmaster @ pcai.com