Prolog as a String Theory: Program Transformations and Query Optimization
📜 Abstract
Prolog is an attractive object language for program transformation and query optimization, because it comprises features like predicates, clauses, unification and a first- order logic inference engine. This paper investigates the strengths and weaknesses of Prolog as a host language for these tasks. We present a novel string solver, taking advantage of the Prolog programming paradigm and constraint solving technology.
✨ Summary
This paper, written by Tom Schrijvers, Bart Demoen, and Jan Wielemaker, explores using Prolog for program transformations and query optimization by leveraging its predicates, clauses, unification, and inference engine. The authors present a novel string solver that benefits from Prolog’s programming paradigm and constraint-solving capabilities.
Prolog’s inherent features make it suitable for handling logic-based transformations and optimizations. The paper introduces an innovative approach to string solving that integrates well with the existing Prolog infrastructure, suggesting a potential shift in how Prolog can be used in logic programming and artificial intelligence applications.
Upon searching for the influence of this work, no direct citations or applications in industry were located, suggesting that while the concepts are notable within the Prolog community, they may not have extensively influenced further research or widespread adoption in industry. The niche nature of Prolog and its specific use cases could be a reason for this limited exposure outside academic circles.