Aviva Directory » Computers & Internet » Programming » Prolog

Created in the early 1970s, Prolog is a logic programming language used in artificial intelligence, abstract problem solving, design automation, computational linguistics, mathematical logic, symbolic equation solving, and biochemical structure analysis.

Although Prolog is an object-oriented language, it differs from other object-oriented languages, such as C++ and Jave, in that Prolog does a completely different job, and uses the word "object" in a different way. In Prolog, the word "object" does not refer to a data structure that can inherit variables and methods from ao class, but to things that can be represented using terms. Logical relationships are asserted, and Prolog is used to determine whether or not certain statements are true. If true, what variable bindings make them true? This leads to a declarative style of programming. Prolog is used for solving problems that involve objects and the relationships between objects.

Prolog provides only one data type, referred to as a term. All of the objects in the problem being represented, and all of the relationships between objects, are represented as types of terms.

The roots of Prolog are in first-order logic, and it was one of the early logic programming languages. The language makes use of formal logic in order to operate commands, variables, and other programming functions.

It is a descriptive programming language, as well as a prescriptive one.

Prolog remains popular today. Like many other programming languages, it exists in several implementations, free and commercial, each with its own semantic peculiarities. Its greatest use today is in research and education, with only minimal use in consumer programming.

Major implementations of Prolog include B-Prolog, Ciao, ECLIPSe, GNU Prolog, Jekejeke Prolog, Poplog Prolog, P#, Quintus Prolog, SICStus, Strawberry Prolog, SWI-Prolog, Tau Prolog, tuProlog, Visual Prolog, WIN-PROLOG, XSB, and Yap. Dialects include Edinburgh Prolog and ISO Prolog.

Among the difficulties relating to the language is that large programs are complicated because not all Prolog compilers support modules, and there are compatibility problems between the module systems of the major Prolog compilers. Portability is also a problem.

Topics related to Prolog, any of its dialects, implementations, IDEs, or tools are appropriate for this category, along with tutorials, user groups, forums, or other related sites.



Recommended Resources

Search for Prolog on Google, Bing, or Yahoo!