dram.me

Prolog中的模块机制

补遗

  1. 在导入名字时,Scheme具有重命名、前缀追加等功能,所以整体上比Prolog的模块机制更为灵活。另外层级的模块名组织也降低了模块名称冲突的可能性。—— 2017-03-12

Logtalk中的模块机制中有部分提及Prolog的模块机制。这里再整理一些其中的细节。

在Prolog中,模块和文件以及文件路径的关系相对松散,类似与Go语言,这样的模式可以更灵活的组织代码。

另外虽然Prolog支持模块前缀约束名字,但大部分Prolog系统在命名谓词时包含有模块本身的信息(类似于Scheme),这在代码阅读时有一定不便利性。