Release of cl-psoatransrun 1.0

From RuleML Wiki
Jump to: navigation, search

2020-11-30: Release of cl-psoatransrun 1.0
By Mark Thom, Theodoros Mitsikas, Harold Boley
As the second realization for reasoning in PSOA RuleML, in a joint project with RuleML, Mark Thom has implemented the open-source cl-psoatransrun system in Common Lisp, following the paradigm of functional programming for the central transformation steps. This cl-psoatransrun 1.0 major release at the same time is an official RuleML fork.

The initial cl-psoatransrun 1.0 and its subsequent developments as of 2020-11-30 have reached the same level of features as PSOATransRun 1.5.1 using completely different implementation styles: PSOATransRun is based on Java using ANTLR productions for parsing, transformations, and conversion; cl-psoatransrun is based on Common Lisp using Esrap rules for parsing, pure Lisp functions for transformations, while conversion (translation) is handled by Esrap parsers for PSOA RuleML and Prolog answer bindings combined with a PSOA RuleML Pretty Printer which has no PSOATransRun counterpart.

Currently, cl-psoatransrun uses either XSB Prolog or Scryer Prolog as a logic engine subprocess to which it submits queries and from which it receives back answer bindings, both of which are in Prolog notation. This intermediation is handled by a Prolog program running atop the Prolog engine as a server, substituting for PSOATransRun's use of the InterProlog third party library. An Esrap Prolog parser converts Prolog answer bindings into an equivalent internal representation, which is printed back in PSOA RuleML Presentation Syntax using the Pretty Printer. For more information, see https://github.com/mthom.