The Architecture of an Implementation of λProlog: Prolog/Mali (1992)
| Citations: | 1 - 0 self |
BibTeX
@MISC{Brisset92thearchitecture,
author = {Pascal Brisset and Olivier Ridoux},
title = {The Architecture of an Implementation of λProlog: Prolog/Mali},
year = {1992}
}
OpenURL
Abstract
λProlog is a logic programming language accepting a more general clause form than standard Prolog (namely hereditary Harrop formulas instead of Horn formulas) and using simply typed λ-terms as a term domain instead of first order terms. Despite these extensions, it is still amenable to goal-directed proofs and can still be given procedural semantics. However, the execution of λProlog programs requires several departures from the standard resolution scheme. First, the augmented clause form causes the program (a set of clauses) and the signature (a set of constants) to be changeable, but in a very disciplined way. Second, the new term domain has a semi-decidable and infinitary unification theory, and it introduces the need for a fi-reduction operation at run-time. MALI is an abstract memory that is suitable for storing the search-state of depth-first search processes. Its main feature is its efficient memory management. We have used an original Prolog-to-C translation: predicates are trans...







