gpt4 book ai didi

module - 使用 prolog 进行大型编程

转载 作者:行者123 更新时间:2023-12-03 14:00:55 25 4
gpt4 key购买 nike

我试图保持我的 Prolog 代码模块化,我想知道是否有人对如何做到这一点有任何建议。我用简单的 consult 执行此操作的方式s,但是随着我的文件数量增加并且屈服于名称冲突,这变得越来越麻烦。是否有任何类似于“典型”导入的构造,例如

%-------------------------------------------------------------------- compiler.pl

[ scanner, parser, codegen ] .

%-------------------------------------------------------------------- compile

% compile( S, I ) :- Compiling the source string S gives the list of instructions
% I

compile( S, I ) :- scan( S, T ), parse( T, A ), codegen( A, I ) .

%-------------------------------------------------------------------------------%

在源文件的顶部?如果是特定程序,我使用 gprolog .提前感谢您的帮助。

最佳答案

GNU-Prolog 没有真正的模块系统,所以你的方法是目前你能得到的最好的。也许 GNU-Prolog 将来可能会添加一个模块系统,但我不会在这上面打赌。

最常见的模块系统允许在不同的模块中定义具有相同谓词名称和数量的谓词。从而避免了谓词的名称冲突。原子和仿函数在模块边界上保持不变。 SICStus、YAP、SWI、Ciao、IF 和 ISO 标准等系统都有这样的系统。

XSB 提供了另一种模块系统——称为基于仿函数的模块系统。

关于module - 使用 prolog 进行大型编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6695788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com