Major differences between 7.6.1 and 8.1.5?

Any major new changes between 7.6.1. and 8.1.5? The release notes appear to be per-version and I was hoping to find something that told me what the major new fixes or changes were, not every change.

Major versions are mostly because I’m bored looking at the old version number :). The key changes to version 8 are much better indexing and much better facilities for deploying applications. There are no significant incompatibilities in running normal Prolog. There are some in command line handling and facilities dealing with saved states and QLF files.

Thanks Jan. By indexing are you referring to Prolog first term indexing in the processing of Horn clauses? Or something else?

Also, I’m going to use Cliopatria to create an internal API server to wrap my Prolog code. Does that sound like the fastest way to create such a thing? By API server I mean a stand-alone module that responds to HTTP/S requests (purely textual) and returns a JSON payload generated by my Prolog code as the response.

I’m a little concerned that Cliopatria may be overkill for that use case, especially if its RDF features get in the way.

Given my previous post, would these facilities affect my use case? (i.e. - would I benefit from them or are they orthogonal towards what I building?).

Modern Prolog clause indexing is much more subtle. It looks at all arguments, may combine multiple arguments and looks into compound terms with repeating name/arity.

Depends what you want. Cliopatria provides RDF facilities such as browsing RDF, search in RDF graphs and SPARQL. It also provides (old fashioned) user and login management and package management. If you do not want the RDF related stuff I wouldn’t use ClioPatria.

Hi again Jan,

Please ignore that last question. When I first started researching using Prolog as a web server I landed on the wrong doc page. The one I encountered that explains how to create a complex level Prolog web server when I just want a simple HTTP/S based API server. I just found the main page for the built-in SWI-Prolog server module and its exactly what I need. I’ll just use it: