有没有办法避免在 SWI-Prolog 控制台中为模块的每个谓词添加前缀?
Is there a way to avoid to prefix every predicate of a module in the SWI-Prolog console?
这是一个例子:
%% file named: p.pl
:- module(p,[ ]).
:- use_module(library(chr)).
:- chr_constraint red, blue, yellow, orange, purple, green.
red, blue <=> purple.
red, yellow <=> orange.
blue, yellow <=> green.
在 SWI-Prolog 控制台中,我必须输入例如:
p:red.
我知道如果我在模块声明中导出一切都是可调用的,但为了调试目的,这输入太多了。
[p].
无效。
我暂时想调试的是:
:- module(p,[ * everything ]).
一种可能的替代方法是使用 module/1
内置谓词来切换交互式顶层的默认工作模块。尝试:
?- module(p).
在此查询之后,您应该能够调用 p
模块中的任何谓词,而无需使用 p:
前缀。
这是一个例子:
%% file named: p.pl
:- module(p,[ ]).
:- use_module(library(chr)).
:- chr_constraint red, blue, yellow, orange, purple, green.
red, blue <=> purple.
red, yellow <=> orange.
blue, yellow <=> green.
在 SWI-Prolog 控制台中,我必须输入例如:
p:red.
我知道如果我在模块声明中导出一切都是可调用的,但为了调试目的,这输入太多了。
[p].
无效。
我暂时想调试的是:
:- module(p,[ * everything ]).
一种可能的替代方法是使用 module/1
内置谓词来切换交互式顶层的默认工作模块。尝试:
?- module(p).
在此查询之后,您应该能够调用 p
模块中的任何谓词,而无需使用 p:
前缀。