我使用SWI Prolog
作为支持的编译器(v 6.6.1)。安装logtalk
3.0.0.1后,我开始收到错误
logtalk_load(library(types_loader),[source_data(on),report(on)])。
%[c:/users/dizqj373/documents/logtalk/library/termp.lgt已加载] !域错误:值别名/ 2不在域指令中 !在指令中: - 别名(termp,[variables / 2 as vars / 2]) !在文件c:/users/dizqj373/documents/logtalk/library/term.lgt之间的第36-37行 警告:[线程2] c:/users/dizqj373/documents/logtalk/library/lgt_tmp/types_loader.pl:5:初始化目标失败 %[c:/users/dizqj373/documents/logtalk/library/types_loader.lgt已加载] 真。
你能帮助我并指导一下可能出错的一点吗? 谢谢!
答案 0 :(得分:0)
Logtalk 3中引入了alias/2
指令,弃用了Logtalk 2.x中使用的可读性较低的alias/3
指令。如果您尝试使用Logtalk 2.x编译器编译和加载Logtalk 3库,则会出现您发布的错误,该编译器无法识别新的alias/2
指令。
如果您刚刚从Logtalk 2.x更新为Logtalk 3,请确保您确实使用了新版本编译器。检查LOGTALKHOME
环境变量的当前值是否指向Logtalk 3安装文件夹,而不是旧的Logtalk 2.x文件夹。启动Logtalk后,您还可以查看您对查询使用的版本:
| ?- current_logtalk_flag(version_data, Version).
此标志也在Logtalk 3中引入。如果您发现错误标记无法识别,那么您很可能正在加载旧的Logtalk 2.x版本。