This major version includes both user-visible and under-the-hood changes.

  • support for keyboard input now available in IOLibrary/ISOIOLibrary both in the Java GUIConsole and in the Android app.
  • assert/retract behaviour fixed (bug that dated back to version 1.1) 
  • class path control in JavaLibrary predicates now performed via the set_classpath/get_classpath predicate pair (the extra PathList argument introduced in tuProlog 2.6 has been deprecated)
  • new parser redesign and implementation based on ANTLR
  • full support for the JSON serialization and de-serialization 
  • dockerization
  • several internal changes applied to the engine for bug fixing purposes. 

Further changes have to be expected in the future, to address the other long-annoying bug regarding the variable binding in setof/bagof.


Due to Google's removal of the download feature from Google Code, all tuProlog versions are now available from this site ONLY
except for the Eclipse plugin which must be downloaded and installed directly from the Eclipse Update Manager
 (to this end, the proper Update Site must first be configured -- detailed instructions for this configuration can be found here)


  • Java version: just unzip the release archive in a folder of your choice, and double click the executable 2p.jar
  • .NET version: just unzip the release archive in a folder of your choice, and double click the executable 2p.exe
  • Eclipse plugin: installation must be performed directly from the Eclipse Update Manager: to this end, the proper
     Update Site must be configured first. Detailed instructions for this configuration can be found here.

    Please note: due to a renaming of the plugin deployment package, the Eclipse Check for Update feature will NOT work
    for upgrading to version 2.7.2 or 2.8 from 2.6 or earlier versions -- use the Install new software feature instead,
    manually looking for new software in the tuProlog update site and looking the new tuProlog feature.

    Please note: tuProlog 2.8 (and 2.7) requires Eclipse Juno or Kepler, previous versions require Indigo >> Installation instructions
  • Android version: just copy the 2p-android.apk archive in your device (e.g. in the download folder) and double click
    to start installation. Please remove any previous versions first, otherwise the install process may fail.

Numbering scheme

The numbering scheme adopted aims to provide a clear cross-platform view of the version being used.

  • The first two digits represent the engine version.
     So, as long as you see that the same two digits are the same, you can count that the inner baheviour will be the same, too.
     Coherently with this approach, major versions are normally released as 2.N.0 for all platforms.
  • The subsequent digits (usually, just the third one, possibly followed by some build indication) is platform specific and will be
     used to distinguish between different versions of platform-specific items (such as IDEs, plug-in IDEs, Android UIs, etc.)


The required platform for tuProlog 3 and upper release is Java 8 with JDK (not just a pure JRE): users not interested in the new_lambda/3 predicate, however, can go for a standard JRE. tuProlog 2.9.2 is intended to be the last stable version supporting Java 7.

The Eclipse plugin works on Eclipse Neon and Oxygen (64 bit).

The Android app works on Android 5.0.1 and above.

Tags: Menu.1.2


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

Partita IVA: 01131710376 - Copyright © 2008-2021 APICe@DISI Research Group - PRIVACY