This guide covers migrating TPTP 3.3 (or earlier) plug-ins to TPTP 4.0.
One of the goals of TPTP 4.0 was move TPTP forward while remaining compatible
with previous versions to the greatest extent possible. That is, plug-ins
written against the TPTP 3.3 APIs should continue to work in 4.0 in spite of
the API changes.
The key kinds of compatibility are API contract compatibility and binary
compatibility. API contract compatibility means that valid use of 3.3 APIs
remains valid for 4.0, so there is no need to revisit working code. Binary
compatibility means that the API method signatures, etc. did not change in
ways that would cause existing compiled ("binary") code to no longer link
and run with the new 4.0 libraries.
While every effort way made to avoid breakage, there are a few areas of
incompatibility. This document describes the areas where TPTP changed in
incompatible ways between 3.3 and 4.0, and provides instructions for migrating
3.3 plug-ins to 4.0.