Итак, допустим, у меня есть следующее в базе данных Prolog:
person(john).
person(mary).
happy(john).
Очевидно, что если я хочу перечислить всех людей, я могу набрать:
person(X).
Но что, если я хочу найти все, что правда о Джоне?Я не могу сделать:
X(john).
Но эффект, который я хотел бы получить, - это умение вставлять слова «Джон» и возвращать слова «человек» и «счастье».
Очевидно, есть еще одинкак я могу хранить свою информацию:
is(person, john).
is(person, mary).
is(happy, john).
А потом я могу сделать:
is(X, john).
Но я теряю здесь некоторую выразительность.Я действительно хотел бы иметь возможность сделать что-то вроде:
X(john).
Есть идеи?
Спасибо!