Login: A logic programming language with built-in inheritance
Journal of Logic Programming
Compiling associativity into logic programs
Journal of Logic Programming
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Constraint satisfaction in logic programming
Constraint satisfaction in logic programming
Algorithms + Data Structures = Programs
Algorithms + Data Structures = Programs
Using an automatic marking system for programming courses
Proceedings of the 34th annual ACM SIGUCCS fall conference: expanding the boundaries
Program generation in the equivalent transformation computation model using the squeeze method
PSI'06 Proceedings of the 6th international Andrei Ershov memorial conference on Perspectives of systems informatics
Hi-index | 0.00 |
Equivalent transformation has been proposed as a methodology for providing programs with appropriate data structures. For instance, logic programs which use lists are transformed into equivalent programs that use difference-lists. However lists and difference-lists are both usual terms and in this sense no new data structures are introduced in the transformation. Since logic programming has fixed data structure called terms, no one can develop theoretical foundations for introducing new data structures into programs as far as only logic programs are discussed. In this paper we develop a theoretical foundation of equivalent transformation that introduces new data structures. We introduce a parameter G for data structures, by which many languages with different data structures are characterized. By changing this parameter (say from G1 to G2) we can discuss data structure change for programs. We define a concept ofsaf e extension ofdata structures, and prove that the meaning ofa program on a data structure is preserved by safe extension of the data structure.