Abstract

Programming languages play an important role in the development of computer science. Just imagine programming an expert system in machine language! Any revision would require an enormous additional coding effort. It has been clear for some time that complex programming tasks require powerful programming environments on the conceptual level of the user. Such environments support abstract tools for numeric and symbolic computation. This trend led to the development of high-level programming languages like LISP and other languages like PLANNER (Hewitt 1972), CONNIVER (Sussman and McDermott 1972), QA4 (Rulifson et al. 1973), QLISP (Reboh and Sacerdoti 1973), and Prolog (Colmerauer et al. 1972). These more powerful languages are often collectively known as Programming in the AI languages differs substantially from programming in more standard environments. Edward Feigenbaum has characterized this difference by noting that a given language may be plotted along the what-to-how spectrum. At the end of the spectrum, programs specify step by step precisely how the desired computation is to be carried out. In contrast, at the end of the spectrum, programs are required merely to specify what conditions the desired result must satisfy. The AI languages are usually nearer the end of the spectrum than the more standard languages. A computation within an AI language is taken as the process of proving a goal: the user provides a goal and the system tries to provide a proof, relying on a knowledge base and built-in proof mechanisms. Therefore these languages are also known. as goal-directed computation languages. Robert Kowalski's 1974 paper Predicate Logic as Programming Language introduced logic programming to the computing community as a technique for specifying goal-directed computations. Prior to Kowalski's 1974 paper, various research efforts during the late 1960s and early 1970s influenced the development of logic programming. Its theoretical foundations were established through research in automatic theorem proving dating back to the early 1960s. The first implementation of a logic programming system was described in Colmerauer et al. (1972). These developments occurred concurrently with, and partly in response to, the development of PLANNER (Hewitt 1972) and CONNIVER (Sussman and McDermott 1972) at M.I.T. This logic programming technique consists of formulating a set of rules and facts (collectively called clauses), each of which is a simple statement of some truth that one wishes to record in a knowledge base. A statement has the form

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.