Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Visual Prolog , ранее известный как PDC Prolog и Turbo Prolog , является строго типизированным объектно-ориентированным расширением Prolog . Как Turbo Prolog, он продавался Borland, но теперь он разработан и продается датской фирмой Prolog Development Center (PDC), которая первоначально разработала его. Visual Prolog может создавать приложения с графическим интерфейсом пользователя Microsoft Windows , консольные приложения , DLL ( библиотеки динамической компоновки) и программы CGI . Он также может связываться с COM-компонентами и базами данных с помощью ODBC .

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

Ядром Visual Prolog являются предложения Horn , алгебраические типы данных , сопоставление с образцом и управляемый недетерминизм, как в традиционном Prolog, но в отличие от традиционного Prolog, Visual Prolog всегда был строго и статически типизирован .

История [ править ]

Версия 9 представляет ограниченный полиморфизм, предикаты расширений, базы данных фактов без потоковой блокировки и именованные параметры (см. Также Новые возможности Visual Prolog 9 ).

Версия 8 представляет презентаторов для более удобного представления данных в отладчике и запущенной программе (см. Также Новые возможности Visual Prolog 8 ).

Версия 7.5 содержит http-сервер и генератор синтаксического анализатора LALR (1) (см. Также Новые возможности Visual Prolog 7.5 ).

Версия 7.4 может генерировать 64-битный код Windows (см. Также Новые возможности Visual Prolog 7.4 ).

Версия 7.3 представила универсальные классы и интерфейсы (см. Общее программирование ), защищенные мониторы (см. Также Новые возможности Visual Prolog 7.3 ).

Версия 7.2 представила анонимные предикаты (логический элемент анонимных функций ) и пространства имен (см. Также Новые возможности Visual Prolog 7.2 ).

Версия 7.0 представила параметрический полиморфизм .

Начиная с версии 6.0 язык полностью объектно-ориентирован .

Пример Ханоя [ править ]

В примере с башнями Ханоя механизм вывода Prolog вычисляет, как переместить стопку из любого количества постепенно уменьшающихся дисков, по одному, от левого полюса к правому полюсу описанным способом с помощью центра в виде транзит, чтобы никогда не было диска большего размера поверх диска меньшего размера. Предикат hanoiпринимает в качестве начального аргумента целое число, указывающее количество дисков.

класс  hanoi  предикаты  hanoi  :  ( беззнаковый  N ).  конец  класса  ханой  реализовать  ханойские  домены  pole  =  left ;  центр ;  правильно .   предложения  hanoi ( N )  : -  переместить ( N ,  влево , по  центру ,  вправо ).    предикаты  класса move  :  ( беззнаковый  N ,  полюс  A ,  полюс  B ,  полюс  C ).  предложения  move ( 0 ,  _ ,  _ ,  _ )  : -  !.  шаг ( Н ,  , В , С ) : - шаг ( N - 1 , , С , В ), STDIO : : writef        ( "переместить диск с полюса% на полюс% \ n" ,  A ,  C ),  переместить ( N - 1 ,  B ,  A ,  C ).  конец  орудия  Ханой  Цель  консоли : : INIT (),  ханой : : ханой ( 4 ).

Прием [ править ]

Брюс Ф. Вебстер из BYTE похвалил Turbo Prolog в сентябре 1986 года, заявив, что это был первый продукт Borland, который взволновал его так же сильно, как Turbo Pascal. Ему понравился пользовательский интерфейс и низкая цена, и он сообщил, что два профессора BYU заявили, что он превосходит Prolog, который они использовали в университете. Ставя под сомнение рыночный спрос на язык, Вебстер пришел к выводу, что «Turbo Prolog может стать таким же значительным скачком в разработке программного обеспечения, каким Turbo Pascal представлял три года назад», и рекомендовал его тем, кто «вообще интересуется искусственным интеллектом, базами данных, экспертными системами. , или новые взгляды на программирование ". [1]Другой автор в журнале в том же месяце написал, что нестандартный, более структурированный синтаксис языка делает «списки источников более читабельными, чем стандартные прологи». Заявив, что у него «много хороших функций», он заявил, что «привкус Turbo Pascal в его компиляторе и строгая типизация данных ... создают проблему идентификации для языка». Описав его как «Turbo Paslog», автор пришел к выводу, что он «не рекомендует его, если вы серьезно думаете о том, чтобы стать программистом на Prolog». [2] В 1989 году журнал включил Turbo Prolog 2.0 в число победителей премии BYTE Awards «Отличие», одобрив то, что Borland «разработала систему для программирования реальных приложений». [3]

Книги о Visual Prolog [ править ]

  • Томас В. де Бур, Руководство по Visual Prolog для начинающих
    • Китайский перевод
  • Эдуардо Коста, Visual Prolog для Tyros
    • Русский перевод
    • Китайский перевод
  • Джованни Торреро, VISUAL PROLOG PER PRINCIPIANTI, итальянский, 113 страниц (pdf)
  • Рэндалл Скотт, Руководство по искусственному интеллекту с визуальным прологом, ISBN  978-1-4327-4936-1

См. Также [ править ]

  • Сравнение реализаций Prolog
  • Logtalk
  • Меркурий (язык программирования)

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

  1. ^ Вебстер, Брюс Ф. (сентябрь 1986). «Два прекрасных продукта» . БАЙТ . п. 335.
  2. ^ Шаммас, Намир Клемент (сентябрь 1986). «Турбо-Пролог». БАЙТ . п. 293.
  3. ^ "The BYTE Awards" . БАЙТ . Январь 1989 г. с. 327.

Внешние ссылки [ править ]

  • Официальный веб-сайт