On Bridging Prolog and Python to Enhance an Inductive Logic Programming System

Abstract

Prolog is a programming language that provides a high-level approach to software development. Python is a versatile programming language that has a vast range of libraries including support for data analysis and machine learning tasks. We present a Prolog-Python interface that aims at exploiting Prolog deduction capabilities and Python’s extensive libraries. Our novel interface was built using a divide and conquer methodology. In a first step, we implemented a set of C++ classes that can be matched to Python classes; next, we used an interface generator to export the relevant classes. Finally, we use C code to actually convert between the two realms. In order to demonstrate the usefulness of the interface, we enhance an Inductive Logic Programming System with a visualization capabilities and show how to interface with a standard classifier.

Bibtex

@InProceedings{santoscosta-padl25,
  author =    {V. Santos Costa and M. Areias},
  title =     {{On Bridging Prolog and Python to Enhance an Inductive Logic Programming System}},
  booktitle = {Proceedings of the 27th International Symposium on Practical Aspects of Declarative
               Languages (PADL 2025)},
  pages =     {1--17},
  number =    {15537},
  series =    {LNCS},
  publisher = {Springer},
  editor =    {Esra Erdem  and German Vidal},
  month =     {January},
  year =      {2025},
  address =   {Denver, Colorado, USA},
}

Download Paper

PDF file
Springer