Visual Prolog

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

Visual Prolog
Тип Язык программирования
Разработчик Prolog Development Center
Операционная система MS Windows
Последняя версия 10.02 (19 июля 2021)
Лицензия проприетарная
Сайт visual-prolog.com

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] Первая из возможностей, которые предоставляет IDE, заключается в управлении проектами. Поскольку среда рассчитана на создание достаточно масштабных приложений, то и средства управления файлами в рамках проекта приложения в ней представлены в достаточном для этого объёме. В среде есть встроенный редактор диалогов, который позволит организовать взаимодействие пользователя с программой при помощи графического интерфейса.

Совместимые библиотеки

Система программирования пользовательских интерфейсов (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 (недоступная ссылка). Дата обращения: 27 мая 2012. Архивировано 18 мая 2012 года.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.