We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.PL

Change to browse by:

cs

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo ScienceWISE logo

Computer Science > Programming Languages

Title: Making ProB compatible with SWI-Prolog

Abstract: Even though the core of the Prolog programming language has been standardized by ISO since 1995, it remains difficult to write complex Prolog programs that can run unmodified on multiple Prolog implementations. Indeed, implementations sometimes deviate from the ISO standard and the standard itself fails to cover many features that are essential in practice.
Most Prolog applications thus have to rely on non-standard features, often making them dependent on one particular Prolog implementation and incompatible with others. We examine one such Prolog application: ProB, which has been developed for over 20 years in SICStus Prolog.
The article describes how we managed to refactor the codebase of ProB to also support SWI-Prolog, with the goal of verifying ProB's results using two independent toolchains. This required a multitude of adjustments, ranging from extending the SICStus emulation in SWI-Prolog on to better modularizing the monolithic ProB codebase. We also describe notable compatibility issues and other differences that we encountered in the process, and how we were able to deal with them with few major code changes.
Under consideration for acceptance in TPLP.
Comments: 15 pages. Paper to be presented at the 38th International Conference on Logic Programming (ICLP 2022), under consideration for acceptance in TPLP
Subjects: Programming Languages (cs.PL)
Cite as: arXiv:2205.04373 [cs.PL]
  (or arXiv:2205.04373v1 [cs.PL] for this version)

Submission history

From: David Geleßus [view email]
[v1] Mon, 9 May 2022 15:25:40 GMT (42kb)

Link back to: arXiv, form interface, contact.