? дерево(г)

Название книги: 
Введение в логическое программирование
Автор: 
Хоггер К.

? дерево(г)

? дерево(/(л:, у))

? t(x, у) = /(ζ,, Z2), дерево^), дерево(г2)

? дерево(лг), дерево(г/)

Далее процесс контроля соответствия
типов продолжаться не может до тех пор, пока не будут введены новые конкретные
данные, поэтому управление вновь возвращается к процессу ввода и запрашивает
пользователя, который вводит теперь, скажем, χ := t(TIP, TIP) и, стало
быть, заполняет еще одну компоненту структуры данных. Она в свою очередь
подвергается контролю соответствия типов, и, наконец, пользователь заполняет
последнюю компоненту, скажем у :=Т1Р, которая
затем также проверяется. Таким образом, вся структура данных z:= t(t(TIP,TIP),TIP) введена по
этапам, разделяемым контролем соответствия типов, так что ошибка на каком-либо
этапе будет обнаружена до того, как произойдет переход к следующему этапу.
Заметим, наконец, что логические программы способны обрабатывать
частично определенные данные в виде термов, которые содержат
переменые, не связанные никакими другими термами. Выше мы видели, что частично
определенная структура t(x,y) могла
передаваться процедурам контроля соответствия типов и частично обрабатываться
до того, как стали известными конкретные значения переменных л: или у. Этот вид
поведения не имеет прямых аналогов во многих традиционных языках
программирования.

name=bookmark146>IV.
3. Представления посредством фактов

В представлениях посредством фактов
используется то обстоятельство, что сами логические процедуры могут служить в
качестве описаний компонент структур данных. Их можно применять для описания
всех типов данных, например списков, матриц и деревьев, которые иначе можно
было бы представить в виде термов; общее свойство этих типов данных заключается
в том, что они имеют регулярную структуру. Программы, обрабатывающие
представления таких видов данных посредством фактов, часто должны обращаться за
помощью к процедурам доступа довольно низкого уровня, которые регулируют
использование индексов, указателей и т. п. Кроме того, представления
посредством фактов оказываются также в высшей степени полезными для описания
совершенно нерегулярных наборов данных, таких как базы данных, чье описание с
помощью термов было бы чрезмерно громоздким.

Страница: 
150

Хоггер К.: Введение в логическое программирование . Часть 1.