使ProB与SWI-Prolog兼容
摘要:既然Prolog编程语言的核心自1995年被ISO标准化以来,尽管仍然难以编写能在多个Prolog实现上无修改地运行的复杂Prolog程序。实际上,实现有时会偏离ISO标准,而标准本身也无法涵盖许多实践中的重要功能。 因此,大多数Prolog应用程序必须依赖非标准功能,这往往使它们依赖于一种特定的Prolog实现,并与其他实现不兼容。本文将研究一种这样的Prolog应用程序:ProB,该应用程序已经在SICStus Prolog中开发了20多年。 本文描述了我们如何成功地重构ProB的代码库,以支持SWI-Prolog,并以验证ProB的结果为目标,使用两个独立的工具链。这需要进行多种调整,从在SWI-Prolog中扩展SICStus模拟到更好地模块化ProB的庞大代码库。我们还描述了在此过程中遇到的兼容性问题和其他差异,以及我们如何在几次重大代码更改的情况下解决这些问题。 正在考虑是否接受TPLP。
作者:David Gele{ss}us, Michael Leuschel
论文ID:2205.04373
分类:Programming Languages
分类简称:cs.PL
提交时间:2022-05-10