2015-11-06 34 views
2

下面是一个例子:有没有办法避免在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 ]). 

回答

3

另一种可能是使用module/1内置谓词切换默认工作模块交互顶层。尝试:

?- module(p). 

这个查询后,你应该能够调用p模块中的任何谓语,而无需使用p:前缀。

+2

SICStus,YAP同样适用。 – false

相关问题