我想知道是否有一种方法可以在Swi-Prolog中创建全局数组。据我了解,GNU Prolog通过g_array提供了这种可能性。我正在尝试创建一个使用非常大的数组(使用函子)的程序,因此将它们作为参数传递给谓词必须非常无效。
谢谢你。
评论中讨论了SWI-Prolog在将术语作为参数传递时是否复制术语。答案是它不能,因为术语共享是Prolog语义的主要特征。如果谓词接收到调用者的术语copies