微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在WAM Prolog中实施否定\ +或非/ 1

如何解决在WAM Prolog中实施否定\ +或非/ 1

您将如何在WAM中实现按故障排除(\+)?或(->;)软剪切。我们假设实现了剪切。

例如,一次被swi-pl描述为

once(Goal) :-
    Goal,!.

添加其他来源,Wikipedia本身只是含糊的“执行\ +”。

否定表示采用谓词的值,即如果为真,则为假,反之亦然。 但是,WAM不会返回值,而是将“失败”描述为一种操作。我会将其实现为goto fail等。

我无法理解该值的确切位置(在高级描述中,Goal具有真实值,但在低级基础上,它是一项操作),或者您是否会扩展wam以及如何扩展

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。