Logic enhancement
Paul Eggert, D Val Schorre
Abstract
Paul Eggert, D Val Schorre
Abstract
Languages based on first order logic have rapidly gained popularity as practical programming languages in several fields. With experience, several problems with the most popular such language, Prolog, have come to light. Several proposals for changes and extensions to Prolog have been made, but proposals have been expensive to build and evaluate. An inexpensive method for extension is described that relies on preprocessors and checkers written in Prolog itself. The method is efficient and applies to any logic programming language that permits manipulation of programs as objects. Several extensions have been built, including modules, macros, functional notation, repetition notation, debugging, and profiling; the first three are explored in detail.
OpenAlex reports 9 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Languages based on first order logic have rapidly gained popularity as practical programming languages in several fields. With experience, several problems with the most popular such language, Prolog, have come to light. Several proposals for changes and extensions to Prolog have been made, but proposals have been expensive to build and evaluate. An inexpensive method for extension is described that relies on preprocessors and checkers written in Prolog itself. The method is efficient and applies to any logic programming language that permits manipulation of programs as objects. Several extensions have been built, including modules, macros, functional notation, repetition notation, debugging, and profiling; the first three are explored in detail.
Key concepts: Computer science