Prolog 递归 <3>

在这一次的 post 中, 我们将要介绍 Prolog 中的递归定义, 也就是说, 一个 predicate 如果它定义了一个或多个引用自己的规则, 那么这个 predicate 就是递归的. 递归的定义非常地简单: is_digesting(X,Y):-just_ate(X,Y). is_digesting(X,Y):- just_ate(X,Z), is_digesting(Z,Y). just_ate(mosquito,blood(john)). just_ate(frog,mosquito).... »

Author image

Prolog 匹配 <2>

这篇 post 有两个主要的目的: 讨论 Prolog 中的匹配, 解释匹配(match)与相等的不同. 使用 Prolog 搜索的机制解决一些问题. ##Matching Prolog 中有三种不同的 term, 分别的 constants, variables 和 complex terms.... »

Author image

Prolog 基础 <1>

##为什么学习 Prolog? Prolog 是种逻辑式的编程语言. 我第一次见到这个名字的时候大约实在我学习 SICP 的过程中, 实现了一个简单的逻辑式语言的解释器. 之后我又在 CTMCP 一书中的 Relational Programming 和 Logical Programming 中多次见到 Prolog 的身影, 加上我本身对于各种编程语言非常地感兴趣,... »

Author image