A specification of an abstract Prolog machine and its application to partial evaluation
1981 (English)Doctoral thesis, monograph (Other academic)
We investigate partial evalution of Prolog programs as a part of a theory of interactive, incremental programming. The goal of of this investigation is to provide formally correct, interactive programming tools for program transformation.
An abstract Prolog machine is introduced. The machine is systematically extended to an abstract partial evaluation Prolog machine. Three fundamental partial evaluation transformations are introduced and proved to preserve meaning of programs: pruning, forward data structure propagation, and opening (which also provides backward data structure propagation). The theoretical investigation is then extended to account for relations between logic and partial evalution.
An implementation of a partial evalution system is then developed from the formal specification. The system is well integrated and efficiently implemented in the Qlog programming environment. Several examples illustrate the mechanism and applications of partial evalution.
Finally, we outline how meta-rules that control the execution of the Prolog program can be incorporated into the system in a clean way. Such rules are familiar from artifical intelligence research. They could be used in future programming environments as specialized metatheories which support the programmer in particular tasks of programming.
Place, publisher, year, edition, pages
Vimmerby: VTT Grafiska , 1981. , 69 p.
Linköping Studies in Information Science. Dissertation, ISSN 1403-6231 ; 69
IdentifiersURN: urn:nbn:se:liu:diva-43112Local ID: 71760ISBN: 91-7372-479-3OAI: oai:DiVA.org:liu-43112DiVA: diva2:263970
1981-11-20, Sal C3, Universitetet, Linköping, 10:15 (Swedish)