tuProlog

tuProlog (2P for short) is a light-weight Prolog framework for distributed applications and infrastructures: a minimal engine, dynamically configurable through libraries, seamlessly, orthogonally and bidirectionally integrated with Java and .NET

What tuProlog is

tuProlog — 2P for short — is the Java engine on which the project was founded, developed at the APICe research group of the Alma Mater Studiorum—Università di Bologna and published here since 2001. It is

  • light-weight: the core is a small Java object holding only the essential properties of a Prolog engine, so that a tuProlog activity starts from a single jar on a standard virtual machine
  • configurable: ISO compliance, I/O predicates, DCG operators and the rest arrive as libraries, loaded and unloaded statically or dynamically, written in Prolog, in Java, or in both
  • multi-paradigm: through JavaLibrary any Java object, class or package is a Prolog term, usable from Prolog; and a tuProlog engine is an ordinary Java object, several of which may run side by side, each with its own libraries and knowledge base
  • multi-platform: Java first, then .NET, then Android and iOS, with an Eclipse plug-in of its own

Status

The Java engine is no longer maintained. Its successor is 2P-Kt, a reboot of the project in Kotlin — not a port — which is where development has gone since 2020. The sources remain available, and the last tuProlog Guide, 262 pages, is still the reference for the Java engine.

The two names

2P and tuProlog are the same thing: 2P is the short name the sources, the jars and the repositories use — 2p-java, 2p-net, 2p-android — and tuProlog is the name in full.

Logo

sources

documentation

social