Visual Prolog

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 в поєднанні з системою користувацьких інтерфейсів спрощує розробку систем, заснованих на знаннях, систем підтримай прийняття рішень, які планують програм, розвинених систем управління базами даних і т. д.


1. Мова програмування

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


2. Visual-середа розробки

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


3. Сумісні бібліотеки

Система програмування користувацьких інтерфейсів (GUI - Graphic User Interface) системи Visual Prolog є високорівневої абстракцією до функцій операційної системи.

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

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


4. Приклади

Реалізація гри " Ханойські вежі "на 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] - www.visual-prolog.com/vip6/product/vipPE2CE.htm
  2. Збірка DLL на Visual Prolog. Частина 4. Структури [2] - pro-prof.com/archives/512