Towards an Efficient Prolog System by Code Introspection
George Souza Oliveira, Anderson Faustino da Silva

TL;DR
This paper introduces a novel approach for building efficient Prolog interpreters by dynamically creating specialized emulators, leading to performance improvements demonstrated through implementation in the YAP Prolog System.
Contribution
It proposes a new method of on-the-fly emulator specialization for Prolog interpreters, differing from traditional optimization strategies.
Findings
Implemented in YAP Prolog System
Showed performance improvements in experiments
Demonstrated the effectiveness of dynamic specialization
Abstract
To appear in Theory and Practice of Logic Programming (TPLP). Several Prolog interpreters are based on the Warren Abstract Machine (WAM), an elegant model to compile Prolog programs. In order to improve the performance several strategies have been proposed, such as: optimize the selection of clauses, specialize the unification, global analysis, native code generation and tabling. This paper proposes a different strategy to implement an efficient Prolog System, the creation of specialized emulators on the fly. The proposed strategy was implemented and evaluated at YAP Prolog System, and the experimental evaluation showed interesting results.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Formal Methods in Verification
