逻辑编程中的模块化和独立编译
摘要:逻辑编程中的模块化编码能力对于构建大型程序非常重要。在我们的方案中,模块对应于一块代码,其外部视图由一个签名进行协调。因此,签名通过对谓词、函数和常量名称进行存在量词的逻辑解释,施加了一种隐藏形式。模块通过积累机制进行交互,其中积累机制通过连接它们中的子句,在尊重签名引入的存在量词的范围的同时实现。我们展示了这种简单的静态名称空间结构化方法足以实现与代码作用域相关的功能,而以前认为需要动态控制谓词定义。我们介绍的模块功能先前是通过编译时内联累积模块实现的。这种方法不支持单独编译。我们通过展示如何分别编译每个不同的模块,并通过后续的、相互补充且同样高效的链接阶段来实现内联,从而解决了这个问题。
作者:Steven Holte and Gopalan Nadathur
论文ID:2303.10453
分类:Programming Languages
分类简称:cs.PL
提交时间:2023-03-21