【发布时间】:2018-12-05 16:41:13
【问题描述】:
我在一个名为test.pl的文件中定义了一个名为length的过程:
% Finds the length of a list.
length([], 0).
length([_ | Tail], N) :-
length(Tail, N1),
N is 1 + N1.
使用SWI-Prolog(prolog test.pl)运行程序时,出现如下错误:
ERROR: /home/user/test.pl:2:
No permission to modify static procedure `length/2'
Defined at /usr/lib/swi-prolog/boot/init.pl:3496
ERROR: /home/user/test.pl:3:
No permission to modify static procedure `length/2'
Defined at /usr/lib/swi-prolog/boot/init.pl:3496
我尝试将程序名称从length 更改为mylength,错误消失了。这个错误是什么意思?我可以定义一个名为length 的过程吗?如果没有,为什么不能完成?
【问题讨论】:
标签: prolog swi-prolog