logo
TurboProlog / Документация / TOM_2

Пролог/Турбо: развитие и философские установки

Различия между Турбо Прологом и Прологом связаны как с их эволюцией,

так и с философскими соображениями. В последние годы Пролог быстро разви-

вался, т.к. были поняты его сила и гибкость.

Вначале Пролог был полностью чистым языком, базирующимся на очень

красивых логических посылках. С момента его создания в начале 70-ых годов

Пролог развивался в ведущих университетах, и только исследователи в этих

университетах понимали его значение и важность. По мере того, как иссле-

дователи обнаруживали потребность в некоторых практических применениях и

более удобном инструменте для популярных областей исследования, они до-

бавляли к Пролог много расширений.

В начале 80-ых годов промышленность осознала некоторые преимущества

Пролога перед традиционными языками программирования. Одновременно, вмес-

те с промышленным интересом, появились и новые требования к языку: требо-

вание скорости, сопоставимой с обычными языками, уменьшение занимаемой

памяти и прочие практические характеристики.

С вторжением промышленности в мир языка Пролог, возникло два лагеря

программистов, работающих с ним и имеющим различные философские установ-

ки. Первая группа хотела сохранить все встроенные в Пролог дополнения,

удобные для создания различных поисковых проектов. Они считали Пролог ис-

следовательским языком. Вторая группа считала, что Пролог может стать по-

лезным языком программирования для разработки прикладных систем.

В результате такого развития и появился Турбо Пролог; в нем сочета-

ются возможности программирования, характерные для традиционного Пролога,

со скоростью и мощностью традиционных языковых компиляторов. В данном

приложении мы покажем, каким образом Турбо Пролог сочетает в себе лучшие

качества, требуемые обоими лагерями.

К главным отличиям языка Турбо Пролога от традиционного Пролога от-

носятся:

1. В Турбо Прологе включение правил, операторы и метапрограмми-

рование могут быть смоделированы, но они не являются встроенны-

ми функциями.

2. Турбо Пролог - это типизированный компилятор Пролога.

Для тех, кто не знаком с термами, ниже приводятся их краткое описа-

ние относительно языка Пролог.

Включение правил:

Программа на Прологе - это упорядочненное множество фактов и правил.

Возможность создавать и удалять правила позволяет языку Пролог модифици-

ровать исходный код программы в процессе ее выполнения.

Операторы:

Операторы позволяют пользователю модифицировать синтаксис языка Про-

лог в процессе выполнения.

Метапрограммирование:

Метапрограммирование относится к манипулированию термами языка Про-

лог в процессе выполнения, что приводит к динамическим изменениям в рабо-

те программы.

Типизированный компилятор:

В типизированном компиляторе языка Пролог все связи и объекты должны

быть объявлены в программе.