моментами данной главы являются следующие:
Простые объекты в Прологе - это
Структуры строятся посредством
Тип объекта распознается исключительно по его синтаксической форме.
Структуры могут быть естественным образом изображены в виде деревьев. Пролог можно рассматривать как язык обработки деревьев.
Операция
Сопоставление, если оно завершается успешно, в качестве результата выдает
Запятая между целями означает их конъюнкцию. Точка с запятой между целями означает их дизъюнкцию.
Декларативный смысл программ на 'чистом Прологе' не зависит от порядка предложений и от порядка целей в предложениях.
Процедурный смысл существенно зависит от порядка целей и предложений. Поэтому порядок может повлиять на эффективность программы; неудачный порядок может даже привести к бесконечным рекурсивным вызовам.
Имея декларативно правильную программу, можно улучшить ее эффективность путем изменения порядка предложений и целей при сохранении ее декларативной правильности. Переупорядочивание - один из методов предотвращения зацикливания.
Кроме переупорядочивания существуют и другие, более общие методы предотвращения зацикливания, способствующие получению процедурно правильных программ.
В данной главе обсуждались следующие понятия:
объекты данных:
атом, число, переменная, структура
терм
функтор, арность функтора
главный функтор терма
сопоставление термов
наиболее общая конкретизация
декларативная семантика
конкретизация предложений,
вариант предложения
процедурная семантика
вычисление целевого утверждения Литература
Clocksin W. F. and Mellish С. S. (1981).
Lloyd J. W. (1984).
Nilsson N. J. (1981).
Robinson A. J. (1965).