The Janus System: Multi-paradigm Programming in Prolog and Python
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). First posted on arXiv 30 Aug 2023.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2026: 1.
1 paper.
Similar, not cited
Close in wording, no citation either way
- 2026ProDebug: An Automated Debugging System for Prolog ↗
- 2026PrologMCP: A Standardized Prolog Tool Interface for LLM Agents
- 2022Reasoning Like Program Executors
- 2025Socrates or Smartypants: Testing Logic Reasoning Capabilities of Large Language Models with Logic Programming-based Test Oracles
- 2023PyReason: Software for Open World Temporal Logic
- 2023Natural Language Embedded Programs for Hybrid Language Symbolic Reasoning
- 2025Large Language Models Meet Symbolic Provers for Logical Reasoning Evaluation
- 2026Probing for Long-Horizon Deductive Reasoning Capabilities in Language Models with Prolog