Visual Prolog

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Visual Prolog
Тип

Язык программирования

Разработчик

Prolog Development Center

Операционная система

MS Windows 2000/XP/Vista/Seven

Последняя версия

7.4 ( Build 7402 ) (4 июня 2013)

Лицензия

проприетарная

Сайт

http://www.visual-prolog.com/

Visual Prolog — объектно-ориентированное расширение языка программирования PDC Prolog, развивавшегося из Turbo Prolog (Borland), семейства Prolog, а также система визуального программирования датской фирмы Prolog Development Center.

Prolog Development Center затратил более трех лет на разработку системы Visual Prolog с поэтапным бета-тестированием, поставки коммерческой версии которой начались с февраля 1996.

Visual Prolog автоматизирует построение сложных процедур и освобождает программиста от выполнения тривиальных операций. С помощью Visual Prolog проектирование пользовательского интерфейса и связанных с ним окон, диалогов, меню, строки уведомлений о состояниях и т. д. производится в графической среде. С созданными объектами могут работать различные Кодовые Эксперты (Code Experts), которые используются для генерации базового и расширенного кодов на языке Prolog, необходимых для обеспечения их функционирования.

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

Язык программирования[править | править вики-текст]

Язык программирования, реализованный в Visual (а ранее в Turbo) Prolog`е отличается от классического пролога тем, что он основан на строгой статической типизации. В него также добавлены средства объектно-ориентированного программирования, анонимные предикаты (лямбда-предикаты), факты-переменные и разрушающее присваивание для них, аргументы-домены (Generic Interfaces and Classes) и параметрический полиморфизм, мониторы (Monitors with guards), императивные конструкции (foreach, if...then...else), коллекторы списков ([...||...]) и пр.

Visual-среда разработки[править | править вики-текст]

Среда разработки приложений системы Visual Prolog включает текстовый редактор, различные редакторы ресурсов, средства разработки справочных систем в гипертекстовом представлении, систему отслеживания изменений, которая обеспечивает перекомпиляцию и перегенерацию только измененных ресурсов и модулей, ряд экспертов Кода, оптимизирующий компилятор, набор средств просмотра различных типов информации о проекте и отладчик. Полная интеграция всех средств обеспечивает повышение скорости разработки приложений. Полученные приложения являются исполняемыми .EXE программами. В коммерческой версии Visual Prolog 7.x возможно создание .DLL-файлов, в персональной версии такая возможность существовала вплоть до версии 5.x.[1][2]

Совместимые библиотеки[править | править вики-текст]

Система программирования пользовательских интерфейсов (GUI — Graphic User Interface) системы Visual Prolog является высокоуровневой абстракцией к функциям операционной системы.

В систему включен также интерфейс с базами данных типа SQL. Почти все типы баз данных доступны с использованием Windows ODBC интерфейса. Поддерживаются также обращения к базам данных Oracle.

В инсталляционный пакет входит 50 классов (Prolog Foundation Classes). Среди них есть GDI+, криптографический, компрессия данных, COM, интерпретатор Классического Пролога PIE (Prolog Inference Engine) и пр.

Примеры[править | править вики-текст]

Реализация игры «Ханойские башни» на Visual Prolog:

class hanoi 
   predicates 
       hanoi : (unsigned N). 
end class hanoi 
 
implement hanoi 
   domains 
       pole = string. 
 
   clauses 
       hanoi(N) :- move(N, "left", "centre", "right"). 
 
   class predicates 
       move : (unsigned N, pole A, pole B, pole C). 
   clauses 
       move(0, _, _, _) :- !. 
       move(N, A, B, C) :- 
           move(N-1, A, C, B), 
           stdio::writef("move a disc from % pole to the % pole\n", A, C), 
           move(N-1, B, A, C). 
end implement hanoi 
 
goal 
   console::init(), 
   hanoi::hanoi(4).

Примечания[править | править вики-текст]

  1. Differences between the Commercial and Personal Editions of Visual Prolog[1]
  2. Сборка DLL на Visual Prolog. Часть 4. Структуры[2]

Ссылки[править | править вики-текст]