Efficient Compression of Prolog Programs
Alin Suciu, Kalman Pusztai

TL;DR
This paper introduces PCA, a dictionary-based compression algorithm specifically designed for Prolog programs, achieving better compression ratios than general-purpose algorithms and easy integration into Prolog applications.
Contribution
The paper presents a novel Prolog-specific compression algorithm, PCA, optimized for Prolog syntax, with demonstrated superior performance over existing general-purpose methods.
Findings
PCA outperforms state-of-the-art general-purpose compression algorithms.
The algorithm is simple to implement within Prolog environments.
It can be adapted for other logic programming languages.
Abstract
We propose a special-purpose class of compression algorithms for efficient compression of Prolog programs. It is a dictionary-based compression method, specially designed for the compression of Prolog code, and therefore we name it PCA (Prolog Compression Algorithm). According to the experimental results this method provides better compression than state-of-the-art general-purpose compression algorithms. Since the algorithm works with Prolog syntactic entities (e.g. atoms, terms, etc.) the implementation of a Prolog prototype is straightforward and very easy to use in any Prolog application that needs compression. Although the algorithm is designed for Prolog programs, the idea can be easily applied for the compression of programs written in other (logic) languages.
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
TopicsAlgorithms and Data Compression · Logic, programming, and type systems · semigroups and automata theory
