有没有办法避免在SWI-Prolog控制台中为模块的每个谓词添加前缀?

时间:2015-11-06 19:51:25

标签: module prolog swi-prolog

以下是一个例子:

%% 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  ]).

1 个答案:

答案 0 :(得分:3)

可能的替代方法是使用module/1内置谓词来切换交互式顶级的默认工作模块。尝试:

?- module(p).

在此查询之后,您应该能够在p模块中调用任何谓词,而无需使用p:前缀。