Tuesday, February 27, 2024
Google search engine
HomeUncategorizedThe Janus System: Multi-Paradigm Programming in Prolog and Python

The Janus System: Multi-Paradigm Programming in Prolog and Python

[Submitted on 30 Aug 2023]

Download PDF

Abstract: Python and Prolog express different programming paradigms, with different
strengths. Python is wildly popular because it is well-structured, easy to use,
and mixes well with thousands of scientific and machine learning programs
written in C. Prolog’s logic-based approach provides powerful reasoning
capabilities, especially when combined with constraint evaluation,
probabilistic reasoning, well-founded negation, and other advances. Both
languages have commonalities as well: both are usually written in C, both are
dynamically typed, and both use data structures based on a small number of
recursive types.

This paper describes the design and implementation of Janus, a system that
tightly combines Prolog and Python into a single process. Janus bi-translates
data structures and offers performance of many hundreds of thousands of
round-trip inter-language calls per second. Although Janus is still new, it has
been used in commercial applications including natural language processing,
visual query answering and robotic automation. Janus was developed for XSB, but
porting Janus code to a second Prolog has been straightforward, indicating that
Janus is a tool that other Prologs may easily adopt.

Submission history

From: EPTCS [view email] [via EPTCS proxy]


Wed, 30 Aug 2023 09:07:05 UTC (53 KB)

Read More



Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments