我使用SWI Prolog作为后台编译器(v6.6.1)。安装logtalk 3.0.0.1后,当
Logtalk_load(库(Types_loader),source_data(on),report(on))。 % c:/users/dizqj373/documents/logtalk/library/termp.lgt已加载!域错误:值别名/2不在域指令中!在指令中:-别名(termp,变量/2作为vars/2)!在第36-37行之间的文件c:/users/dizqj373/documents/logtalk/library/term.lgt中,警告:线程2 c:/users/dizqj373/documents/logtalk/library/lgt_tmp/types_loader.pl:5:初始化目标失败% c:/users/dizqj373/documents/logtalk/library/types_loader.lgt加载为真.
你能帮我指导一下可能出什么问题吗?谢谢!
发布于 2015-05-21 10:12:07
alias/2指令是在Logtalk 3中引入的,它反对在LogTalk2.x中使用可读性较低的alias/3指令。如果您试图使用LogTalk2.x编译器编译和加载Logtalk 3库,它将无法识别新的alias/2指令,那么您发布的错误将是预期的。
如果您刚刚从LogTalk2.x更新到Logtalk 3,请确保确实使用了新版本的编译器。检查LOGTALKHOME环境变量的当前值是否指向Logtalk 3安装文件夹,而不是旧的LogTalk2.x文件夹。启动Logtalk之后,您还可以检查您在查询中使用的版本:
| ?- current_logtalk_flag(version_data, Version).这个标志也是在Logtalk 3中引入的。如果您可以错误地识别标志,那么您很可能正在加载旧的Logtalk 2.x版本。
https://stackoverflow.com/questions/30368734
复制相似问题