tuProlog » #tuprolog() Home (NEW HOMEPAGE PROPOSAL)


What is tuProlog?

tuProlog (2P, for short) is a multi-paradigm logic programming framework written in Kotlin and targetting the JVM, JS (both server- and browser-side), and Android platforms. The main ambition of 2P is to become a general-purpose, open ecosystem for symbolic AI.

tuProlog natively supports multi-paradigm programming, by providing a clean, seamless, and bidirection integration between the logic- and mainstream object-oriented-programming paradigms.

From the user's perspective, 2P is at the same time

  • a light-weight Prolog system for desktop, web, or mobile applications
  • intentionally designed around a minimal, and layered core, to be either statically or dynamically configured via libraries
  • an object-oriented library of reusable logic-programming-related software, which may be exploited by Kotlin, Java, JavaScript, or Android developers
2P-Kt and related packages are released under the Apache 2.0 License, via GitHub, Maven Central Repository, Bintray, and NPM. The source code of 2P-Kt is publicly available both on GitHub and on GitLab.

The online documentation of 2P-Kt is available at http://pika-lab.gitlab.io/tuprolog/2p-in-kotlin.

If you meet any issue with 2P-Kt please open an issue on the GitLab Issues page.

Note, 2P-Java (previous release) and related packages are still available via the legacy tuProlog homepage, despite they are not actively developed anymore.

Using tuProlog

tuProlog, and in particular 2P-Kt, can currently be used either as a command-line application or as a (JVM, Kotlin, JS, or Android) library. Graphical user interfaces (GUI) are currently under active development. However, a prototype web-based playground is available for in-browser experimentation of (tu)Prolog. A desktop IDE is on the roadmap as well.

tuProlog Playground

The 2P-Kt technology provides a web-based application for playing with tuProlog from a web browser. We call it the 2P-Kt Playground, and it is publicly available via GitLab pages: https://pika-lab.gitlab.io/tuprolog/2p-kt-web . It consists of a static web page that only requires Internet connectivity at loading time and stores no data on the server-side, as all computations occur in-browser.

tuProlog command-line interface

The tuProlog application currently offered by 2P-Kt consists of a command-line application to be executed by the JVM 8+.

The 2P-Kt command-line interface consists of a single runnable JAR, whose last version can be downloaded from the GitHub Release page. To execute 2P-Kt, it is sufficient to download the 2p-repl-VERSION-redist.jar file, an then run the command:
$ java -jar 2p-repl-VERSION-redist.jar
This will start a Prolog in interactive mode (left). You can use the --help argument to inspect other sorts of usages (right).

http://apice.unibo.it/xwiki/bin/download/Tuprolog/WebHomeNew/2p%2Dkt%2Drepl.png http://apice.unibo.it/xwiki/bin/download/Tuprolog/WebHomeNew/2p%2Dkt%2Drepl%2Dhelp.png



tuProlog is an open source technology released under the Apache 2.0 License