Logic Programming Applications: What Are the Abstractions and Implementations?
Yanhong A. Liu

TL;DR
This paper reviews logic programming applications, focusing on core abstractions like join, recursion, and constraint, and their implementations such as for-loops, fixed points, and backtracking, across various application domains.
Contribution
It classifies logic programming applications based on abstractions and implementations, providing a comprehensive overview of their use and supporting systems.
Findings
Identifies key abstractions: join, recursion, constraint.
Links abstractions to implementations: for-loops, fixed points, backtracking.
Summarizes application areas and supporting systems.
Abstract
This article presents an overview of applications of logic programming, classifying them based on the abstractions and implementations of logic languages that support the applications. The three key abstractions are join, recursion, and constraint. Their essential implementations are for-loops, fixed points, and backtracking, respectively. The corresponding kinds of applications are database queries, inductive analysis, and combinatorial search, respectively. We also discuss language extensions and programming paradigms, summarize example application problems by application areas, and touch on example systems that support variants of the abstractions with different implementations.
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.
