logo
Функционально-логическое программирование Prolog, LISP

Раздел описания предикатов

В традиционных языках программирования подобными разделами являются разделы описания заголовков процедур и функций. Описание n-местного предиката имеет следующий вид:

Домены аргументов должны быть либо стандартными, либо объявленными в разделе описания доменов.

mother(string,string)

Один предикат может иметь несколько описаний. При этом возможны несколько вариантов использования этого предиката, а процедура, реализующая этот предикат будет единственной.

Кроме того, при описании предиката можно указать, будет он детерминированным или недетерминированным. Детерминированный предикат возвращает только одно решение, а недетерминированный предикат при помощи поиска с возвратом может давать много решений. Детерминированные предикаты менее требовательны к оперативной памяти и выполняются быстрее.